一、封装的概念
封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。
具体理解
1)将东西包装在一起,然后以新的完整的形式呈现出来(即将属性和方法封装到类里面,通过添加访问修饰符来限制访问权限,以达到信息隐藏的目的)
(2)信息隐藏:隐藏对象的实现细节,不让外部直接访问到
(3)信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因。
(4)信息隐藏的原因包括:
①对模块的任何实现细节所做的更改不会影响使用该模块的代码(开闭原则)
②防止用户意外修改数据
③使模块易于使用和维护
(6)访问修饰符:
①public(公开的):该类或非该类均可访问,权限最大
②private(私有的):只有该类可以访问,权限最小
二、属性封装的实现
(1)属性封装的实现
①修改属性的可见性来限制对属性的访问
②为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于公开对这些属性的访问接口
③在setter和getter方法中,根据需要加入对属性操作的限制
(2)封装方法的目的:
① 隐藏方法实现细节(方法体),向外部提供公开接口(方法头),以供安全使用
② 简化调用,方便修改维护
③ 根据需要,可以私有化方法以供类内部使用
三、封装的步骤
①属性私有化
②提供公共的设置器和访问器
③在设置器和访问器中添加业务校验逻辑
注释:跟上面的属性封装的实现有些重复
四、关键字
1.this关键字
(1)this关键字的特点:
① 在类的方法中使用this关键字代表的是调用此方法的对象的引用
② this可以看做是一个变量,它的值是当前对象的引用
③ 使用this关键字可以处理方法中的成员变量和形参同名的问题
④ 当在方法内需要用到调用该方法的对象时,就可以用this
2.static关键字
1.static关键字的特点
①用来修饰类的成员(属性和方法):修饰成员变量的称之为类变量(静态变量),修饰成员方法的称之为类方法(静态方法)。
②当类被加载的时候就会被加载,优先于对象的存在,并且有默认初始值。
③ 用来修饰语句块(称之为静态代码块)。
④静态修饰的成员被所有的对象共享,调用的时候可以直接类名.成员来进行访问。