封装
隐藏对象的属性和实现细节,仅对外提供公共访问方式。(将该显示的显示,该隐藏的隐藏)
好处:
(1)调用者在调用对外的功能时,不会受到繁琐的细节干扰,可以快速地找到他所需要的功能。
(2)调用者不直接接触这些实现的细节,可以有效地避免由错误修改行为带来的失误。
可以使用get,set的方法进行封装属性,属性为私有的,方法为公有的。
image.png
继承
通过使用extends来实现继承。
(1)某个类只能有一个直接的父类
(2)允许多层继承。比如B extends A C extends B
(3)多个类可以继承同一个类
(4)子类不能继承父类私有的内容
重写:
1、重写的原因和目的:
子类可以继承父类的属性和方法,但有的方法并不满足子类的需求,此时就需要重新父类的方法。即就是用子类的方法覆盖掉父类的方法,所以也称为覆写。
2、重写的要求:与父类被重写的方法的名称、参数列表、返回值类型一致。
注:
父类的构造方法不能被重写,因为在子类中重写构造方法时,此时的构造方法和子类的类名不一样,会报错。
多态
1、理解:多态基于继承,使用了重载的思想,其实就是重写。参数是父类(向上转型),表现出了多种不同的状态。
即:相同的消息给予不同的对象会引发不同的动作。
2、多态的三个必要条件:
(1)继承:在多态中必须存在有继承关系的子类和父类。
(2) 重写:子类对父类中某些方法进行重新定义,在调用这些方法时就会调用子类的方法。
(3)向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
只有满足了上述三个条件,我们才能够在同一个继承结构中使用统一的逻辑实现代码处理不同的对象,从而达到执行不同的行为。
3、实现多态的方式:
(1)继承
(2)接口
栗子:动物(Animal)之类别(Class),而且由动物继承出类别鸡(Chicken)和类别狗(Dog),并对同一源自类别动物(父类别)之一消息有不同、的响应,如类别动物有“叫()”之动作,而类别鸡会“啼叫()”,类别狗则会“吠叫()”,则称之为多态。






网友评论