【Java类的继承与多态→封装】懒惰的小黑笔记03(小白一名,请大家多指点)

5.2封装的作用与含义

声明: 此笔记通过观看【尚学堂】+《Java程序设计(赖小平主编)清华大学出版社》感悟整理得出,
若有抄袭请联系作者!

程序设计要求:

“高内聚,低耦合”

高内聚就是类的内部数据细节由我们自己完成,不予许外部干涉。低耦合是仅暴露少量的方法给外部使用,尽量方便外部调用。

【类的封装】

封装是面向对象的三大特征之一(封装、继承、多态),是指信息与实现细节的隐藏。一般来说,只要是属性,就必须封装,Java中通过将属性的声明为私有的(private),再通过公共的setter和getter方法设置和获取,实现对属性的操作。
注:boolean属性不是用getter方法,而是is+属性。

封装的目的:
1、 隐藏一个类中不需要对外提供的实现细节
2、 使用者只能通过事先定制的方法来访问数据,可以方便的加入控制逻辑,限制对属性的不合理使用。
3、 便于修改,增强代码的可维护性。
注:属性一般都要封装

5.2.1封装的实现—使用访问修饰符

Java的四种访问修饰符:private、default、protected、public(访问权限由高到低),不仅仅可以用于属性,还可以用于方法和类。
访问修饰符

  • 1、【实例测试 private】
    封装使用

  • 2、【实例测试 default】

【同一类中使用】:
default使用
注:
1、 若子类跟父类在同一类或在同一包中,default的属性可以被子类访问
2、 可以被同一个包下面的类访问,不能被不同包下面的类访问

【同一包中使用】:
default使用
注:
如子类跟父类不在同一包中,default的属性不能被子类访问

- 3、【实例测试 protected】
protected使用

5.2.2封装的使用

类和属性处理:
1、 一般使用private访问权限
2、 get/set方法一般用public修饰,以提供赋值和处理。注意:boolean变量不是用get方法,用is开头。

【实例测试 private】
测试封装

注:当父类创建(没写是因为会自动生成)无参的构造方法,子类继承父类的方法跟属性,但有些方法跟属性是不可以访问的。在创建对象给属性赋值时使用“调用成员方法(this.setAge(20))”赋值,不能使用this.age =age;,因为age被父类封装了,不能被子类访问。但一般在创建类时会创建有参的构造方法,方便对象直接赋值,简化代码。

发布了9 篇原创文章 · 获赞 12 · 访问量 784

猜你喜欢

转载自blog.csdn.net/weixin_45625687/article/details/104380061