面向对象程序(三)

1. 抽象类

实例

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

面向对象程序(三)_第3张图片
Triangle.png

面向对象程序(三)_第4张图片
Cube.png

面向对象程序(三)_第5张图片
主程序ShapeTest.png

面向对象程序(三)_第6张图片
运行结果.png

2.注意点

1.super关键字的三个作用
  • 访问父类属性


    面向对象程序(三)_第7张图片
    访问父类属性.png
  • 调用父类构造方法


    面向对象程序(三)_第8张图片
    调用父类构造方法.png
  • 调用父类成员方法


    面向对象程序(三)_第9张图片
    调用父类成员方法.png
2. 抽象类的说明

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

3.final关键字的说明

final修饰的变量就是常量
final修饰的类不能被继承
final修饰的方法不能被子类重写

2.接口

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

你可能感兴趣的:(面向对象程序(三))