继承
- 继承概念
(1)计算机程序经常使用类之间的继承关系来表示对象之间的分类关系
(2)在继承关系中,有父类和子类,父类也叫基类,子类也叫派生类
(3)比如动物类Animal和狗类Dog,Animal是父类,Dog是子类。 - 继承作用
(1)复用代码,公共的属性和行为可以放到父类中,而子类只需要关注特有的
(2)方便子类统一处理 - 关键字
(1)extends关键字标明继承关系,一个类最多只能有一个父类
(2)private/public
子类不能直接访问父类的私有属性和方法
除了私有的外,子类继承了父类的其他属性和方法
(3)super
super用于指代父类,可用于调用父类构造方法,访问父类方法和变量
(4)super VS this
super的使用与this有点像,但super和this是不同的,this引用一个对象,是实实在在存在的,可以作为函数参数,可以作为返回值,但super只是一个关键字,不能作为参数和返回值,它只是用于告诉编译器访问父类的相关变量和方法。
多态
(1)向上转型
子类对象赋值给父类引用变量
(2)多态
即一种类型的变量,可引用多种实际类型对象
(3)动态绑定
对于变量shape,它就有两个类型,类型Shape,我们称之为shape的静态类型,类型Circle/Line/ArrowLine,我们称之为shape的动态类型。在ShapeManager的draw方法中,shapes[i].draw()调用的是其对应动态类型的draw方法,这称之为方法的动态绑定。
实际执行调用的是子类实现,这叫动态绑定。
写在最后
都看到这里,保存思维导图,顺便给个赞呗!