面向对象(上)
封装
把该隐藏的隐藏起来,把该暴露的暴露出来。
可以实现一下目的:
1、隐藏类的实现细节;
2、让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里面加入控制逻辑,限制对成员变量的不合理访问;
3、可进行数据检查,从而有利于保护对象信息的完整性;
4、便于修改,提高代码的可维护性。
良好的封装需要从两个方面考虑:
1、将对象的成员变量和实现细节隐藏起来,不允许外部直接访问;
2、把方法暴露出来,让方法来控制这些成员变量进行安全的访问和操作。
访问控制符:(访问级别由小到大)
private(当前类访问权限);
default(包访问权限);
protected(子类访问权限);
public(公共访问权限)。
一个类常常就是一个小的模块
应尽量避免一个模块直接操作和访问另一个模块的数据;模块设计追求高内聚,低耦合。
关于访问控制符的使用,存在如下几条基本原则:
包的运用
import(引出指定包层次下的某些或全部类)
import package.subpackage...*;(指定包下的全部类(不包括子包下的类))
(import static静态导入)
Java源文件的大体结构:
Java常用包:
不要把相同的代码段书写两次以上!
类的继承
extends关键字
子类是对父类的扩展,子类是一种特殊的父类。
子类可继承直接父类或间接父类;子类可以重写父类的方法(方法覆盖)。 (两同两小一大)
super限定来调用父类被覆盖的方法
继承与组合
动态规划。。。