发表于: 2017-03-13 20:41:35
1 1461
今天完成的事情:
学习final关键字;
学习面向对象的第二个基本特征——封装encapsulation
明天计划的事情:
学习面向对象的基本特征——多态
收获:
1) final关键字
修饰变量——不能对基本类型的变量再进行赋值,即为常量;
报错提示:
The final local variable MAX_VALUE cannot be assigned. It must be blank and not using a compound assignment.
修饰方法——该方法不可被子类重写(override),但是可以被重载(overload);
报错提示:
Cannot override the final method from Animal
修饰 类——修饰的类不能有子类,即不能被继承。
报错提示:
The type Bird cannot subclass the final class Animal
2) 隐藏/封装encapsulation
为什么需要封装?
我们在看电视的时候,只需要按下一开关、换一下台就可以了,没有必要去了解电视机内部的构造,也没有必要去碰触里面的显像管。
encapsulation的作用是:隐藏对象内部的复杂性,只对外公开简单的接口,便于外界的调用,从而提高系统的可扩展性、可维护性。
encapsulation的特点是:高内聚低耦合(高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法供外部使用)
使用四种访问控制符,实现封装:
封装的要点:
对于类的属性一般使用private,除非本属性确定会让子类继承;
一般的成员变量都是用private;
一些只用于本类的辅助性方法可以用private;
如果是常量或者static变量,则选用public;
可以提供相应的get/set方法来访问相关属性,这些方法通常是public,从而提供对属性的读取操作:
评论