Java—Day12
对于专门用于被继承的类
对于那些运行子类覆盖的方法,应当详细描述该方法的自用性,以及子类覆盖可能带来的影响
尽量尽可能封装父类实现细节,也就是把代表实现的属性和方法定义为private,如果某些细节必须被子类访问,可以在父类中把包含这种实现细节的方法定义为protected
把不允许子类覆盖的方法定义为final类型
父类的构造方法不允许调用可被子类覆盖的方法,否则,可能出现未知错误。
如果某些类设计出来不是专门为了继承,采取把类声明为final类型或者这个类所有构造方法声明为private类型,然后通过静态方法来负责构造自身的实例 这两个方法来实现。
组合最主要优势是不破坏封装。
关于组合,写了一个程序
如下图