Taday——类的继承和多态(3)

一、多态

多态的概念

多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同 的状态。

多态的定义及实现

1.多态定义的构成条件
多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。 Person对象买票全价,Student对象买票半价。

2.那么在继承中要构成多态的还有两个条件:
(1)调用函数的对象必须是指针或者引用
(2)被调用的函数必须是虚函数,且完成了虚函数的重写

多态存在的三个必要条件
继承
重写
父类引用指向子类对象:Parent p = new Child();
Taday——类的继承和多态(3)_第1张图片

class Shape {
   
    void draw() {
   }
}
  
class Circle extends Shape {
   
    void draw() {
   
        System.out.println("Circle.draw()");
    }
}
  
class Square extends Shape {
   
    void draw() {
   
        System.out.println("Square.draw()");
    }
}
  
class Triangle extends Shape {
   
    void draw() {
   
        System.out.println("Triangle.draw()");
    }
}

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。
以下是一个多态实例的演示,详细说明请看注释:

public class Test {
   
    public static void main(String[] args) {
   
      show(new Cat

你可能感兴趣的:(java,多态)