面向对象第三篇

2018-11-26  本文已影响0人  陈宇航1841

一、抽象类

实例:

描述:定义一个抽象类Shape,具有受保护类型的x和y属性,以及公有的抽象方法获得面积。
Rectangle类继承于Shape类,在构造方法中给父类属性x和y初始化,并重写父类中求面积的抽象方法。
Triangle类也继承于Shape类,在构造方法中给父类属性x和y初始化,并重写父类中求面积的抽象方法。
Cube类继承于Rectangle类,独有的属性是height,其构造方法需要调用父类的构造方法完成对x和y的初始化(立方体的底面长和宽),并对height初始化;独有的方法是求体积。
创建上转型对象,求矩形的面积和三角形面积。
创建对象,求立方体的体积。

代码:

shape类
image.png
Triangle类:
image.png
Rectangle类:
image.png
Cube类:
image.png
主程序ShapeTest:
image.png
运行效果:
image.png

二、super关键字的三个作用

1、调用父类构造方法

image.png

2、访问父类属性

3、调用父类成员方法

image.png

三、抽象类的说明

抽象类中可以有抽象方法和非抽象方法共存
如果一个类中含有抽象方法,则该类一定是抽象类
子类如果继承抽象类,必须强制重写父类中的抽象方法。

接口

和抽象类相似,但是更严格
接口中只能有抽象方法
一个类可以实现多个接口

代码

Fly接口
image.png
飞行物抽象类
image.png
Plane类
image.png
Bird类
image.png
FlyTest
image.png
运行结果
image.png
上一篇 下一篇

猜你喜欢

热点阅读