多型及抽象類

2021-09-02 11:30:36 字數 1065 閱讀 5954

1:多型是指「在執行期間」(而非編譯期間)判斷所引用物件的實際型別,根據其實際的型別呼叫其相應的方法。

2:所謂多型,就是指乙個引用(型別)在不同的情況下的多種狀態。也可以理解為,多型是指通過指向父類的指標,來呼叫在不同子類中實現的方法。。

class	animal 

public void enjoy()

}class cat extends animal

public void enjoy()

} class dog extends animal

public void enjoy()

}class lady

public void mypetenjoy() //呼叫enjoy方法,呼叫哪個enjoy方法,根據實際型別來判斷,**這就是多型**

}public class test

}

1: 要有繼承。

2:要有重寫。

3:父類引用指向子類物件。

(當滿足這三個條件後,調父類中的被重寫方法時,實際中new得失哪個子類物件,就呼叫哪個子類中的方法)

1:用abstract關鍵字來修飾乙個類時,這個類叫做抽象類;

用abstract關鍵字來修飾乙個方法時,這個方法叫做抽象方法。

2:含有抽象方法的類必須被宣告為抽象類,抽象類必須被繼承,抽象方法必須被重寫。

3:抽象類不能被例項化。

4:抽象方法只需宣告,而不需實現。

//父類animal類中的enjoy方法沒有實現的必要,但是有定義的必要

class animal

public void enjoy()

} abstract class animal

public abstract void enjoy(); //宣告為抽象方法 }}

//子類如果不想重寫enjoy方法,只需要宣告自己也是乙個抽象類,交由自己的子類繼承,重寫。

class cat extends animal

public void enjoy()

}

多型 抽象類

多型 當中體現多型性,就是父類指向子類 左父右子 格式 父類名稱 物件名 new 子類名稱 介面名稱 物件名 new 實現類名稱 使用多型,物件向上轉型,是絕對安全的,但物件一旦向上轉型父類,就不能呼叫子類原本特有的類容 物件向下轉型,就是還原的動作 格式 子類名稱 物件名 子類名稱 父類物件 含義...

多型 抽象方法 抽象類

類的多型主要指方法重寫 abstract關鍵字修飾的類 方法 就是抽象類 方法 方法重寫的要求 子類中重寫的方法要與父類中的方法同名 子類中重寫的方法形參個數要與父類中同名方法的形參個數一致 子類中重寫的方法型別要與父類中同名方法的型別一致 靜態 成員方法 子類中重寫的方法的訪問許可權不能低於父類中...

抽象類和多型

抽象類是乙個特殊的類,它的特殊之處在於只能被繼承,不能被例項化 從實現角度來看,抽象類與普通類的不同之處在於 抽象類中只能有抽象方法 沒有實現功能 該類不能被例項化,只能被繼承,且子類必須實現抽象方法。這一點與介面有點類似,但其實是不同的。匯入abc模組實現抽象類 import abc 定義抽象類,...