1. 程式人生 > 其它 >離散化(一般寫法\unique\unique+vector)

離散化(一般寫法\unique\unique+vector)

多型是同一個行為具有多個不同表現形式或形態的能力。

多型是方法的多型。和屬性無關。

一個物件的實際型別是確定的,但是可以指向物件的引用的型別有很多(父類)。

多型存在的三個必要條件

  • 繼承
  • 重寫
  • 父類引用指向子類物件:Parent p = new Child();

多型的實現方式

方式一:重寫

方式二:介面

  • 生活中的介面最具代表性的就是插座,例如一個三接頭的插頭都能接在三孔插座中,因為這個是每個國家都有各自規定的介面規則,有可能到國外就不行,那是因為國外自己定義的介面型別。
  • java中的介面類似於生活中的介面,就是一些方法特徵的集合,但沒有方法的實現。具體可以看 java介面 這一章節的內容。

方式三:抽象類和抽象方法

例子

父類:

package demo04;

public class Person {
    public void run(){
        System.out.println("super,你倒是說句話呀!");
    }
}

子類:

package demo04;
public class Student extends Person{
    @Override
    public void run() {
        System.out.println("son,你不也沒話說嗎!");
    }
    public void eat(){

    }
}

測試:

import demo04.Person;
import demo04.Student;
public class Application {
    public static void main(String[] args) {
        //一個物件的實際型別是確定的,但是指向的引用型別就不確定了,如父類的引用指向子類
        Student s1=new Student();
        Person s2=new Student();
        Object s3=new Student();

        s2.run();
        s1.run();

    }
}
執行結果:
son,你不也沒話說嗎!
son,你不也沒話說嗎!