封装:
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
封装原则:将不需要对外提供的内容都隐藏起来、把属性都隐藏,提供公共方法对其访问。
在这两个类里面有很多重复的代码,封装就是把这些重复的代码打包,方便使用与修改。
这是封装过后的代码,重新创建一个类,这样就可以把不必要多出来的代码进行一个包装。
然后就是继承的问题了,封装以后的代码该怎么用就是后面要说的。
继承:
可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
继承的本质是对某一批类的抽象,从而实现对显示世界更好的建模。
extends的意思是“扩展”。子类是父类的扩展。
Java中类知有单继承,没有多继承!一个儿子只能有一个爸爸,但是一个爸爸能有多个儿子。
继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等等。
继承关系的俩个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
子类和父类之间,从意义上讲应该具有“is a”的关系。
在这个图中相比较第一张图,代码量少了很多,就是因为通过继承把之前的Animal这个类的继承,所以说封装以后的事情就是继承,不然封装的意义就体现不出来了,在这里面要注意这个构造方法它不能被继承所以再子类这里就用了base这个关键字来调用父类的构造方法,通过封装与继承可以看出代码在以后的服用与修改都是会变得简单,之前的代码要修改狗和猫叫的次数要每个都修改,但是通过封装与继承只需要修改一处就行了。