面向对象第三篇

一、抽象类

实例:

描述:定义一个抽象类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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容