封装

简介: 封装

一、封装的概念

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

具体理解

1)将东西包装在一起,然后以新的完整的形式呈现出来(即将属性和方法封装到类里面,通过添加访问修饰符来限制访问权限,以达到信息隐藏的目的)


   (2)信息隐藏:隐藏对象的实现细节,不让外部直接访问到


   (3)信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因。


   (4)信息隐藏的原因包括:


       ①对模块的任何实现细节所做的更改不会影响使用该模块的代码(开闭原则)


       ②防止用户意外修改数据


       ③使模块易于使用和维护


   (6)访问修饰符:


       ①public(公开的):该类或非该类均可访问,权限最大


       ②private(私有的):只有该类可以访问,权限最小

二、属性封装的实现

(1)属性封装的实现


       ①修改属性的可见性来限制对属性的访问


       ②为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于公开对这些属性的访问接口


       ③在setter和getter方法中,根据需要加入对属性操作的限制


   (2)封装方法的目的:


       ① 隐藏方法实现细节(方法体),向外部提供公开接口(方法头),以供安全使用


       ② 简化调用,方便修改维护


       ③ 根据需要,可以私有化方法以供类内部使用

三、封装的步骤

   ①属性私有化

    ②提供公共的设置器和访问器

    ③在设置器和访问器中添加业务校验逻辑

注释:跟上面的属性封装的实现有些重复

image.png

四、关键字

1.this关键字


(1)this关键字的特点:


      ① 在类的方法中使用this关键字代表的是调用此方法的对象的引用


      ② this可以看做是一个变量,它的值是当前对象的引用


      ③ 使用this关键字可以处理方法中的成员变量和形参同名的问题


      ④ 当在方法内需要用到调用该方法的对象时,就可以用this


2.static关键字


   1.static关键字的特点


   ①用来修饰类的成员(属性和方法):修饰成员变量的称之为类变量(静态变量),修饰成员方法的称之为类方法(静态方法)。


   ②当类被加载的时候就会被加载,优先于对象的存在,并且有默认初始值。


   ③ 用来修饰语句块(称之为静态代码块)。


    ④静态修饰的成员被所有的对象共享,调用的时候可以直接类名.成员来进行访问。


相关文章
|
机器人 TensorFlow 算法框架/工具
智能聊天机器人
【8月更文挑战第1天】智能聊天机器人。
372 2
word安装(ppt、excel),以及word的常用设置
word安装(ppt、excel),以及word的常用设置
224 0
|
7天前
|
云安全 监控 安全
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1355 8
|
6天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
436 13
|
18天前
|
人工智能 Java API
Java 正式进入 Agentic AI 时代:Spring AI Alibaba 1.1 发布背后的技术演进
Spring AI Alibaba 1.1 正式发布,提供极简方式构建企业级AI智能体。基于ReactAgent核心,支持多智能体协作、上下文工程与生产级管控,助力开发者快速打造可靠、可扩展的智能应用。
1236 43