第9章 多型和抽象
阿新 • • 發佈:2018-12-09
多型(polymorphism) 定義:相同的行為,不同的實現,使用動態繫結和重寫實現
靜態多型: 使用過載實現
動態多型: 轉型條件:只能發生在父子之間
轉型技術:向上轉型、向下轉型。 向上轉型: 定義:當從低精度資料型別向高精度資料型別轉換時實行自動轉換,這種型別轉換技術稱為向上轉型;或一個父類的引用變數可以指向不同的子類物件,或者說一個子物件可以被當作一個父類型別。
父類的範圍遠大於子類的範圍 子類的例項中,一定包含了完整的父類結構 向下轉型: 當從高精度資料型別向低精度資料型別轉換時,需要使用強制型別轉換符,這種型別轉換技術稱為向下轉型。 引用資料型別向下轉型是有風險的,不是一定就能轉型成功,如果轉型成功,必須滿足兩個條件 1.第一個,必須是父類的引用指向一個子類的實現 2.子類的引用指向相同類的例項型
instanceof關鍵字作用: 1.判斷某個物件,是否是某個型別的物件 2.規避掉在“強制向下轉型”過程中,可能會出現的轉型風險 繫結技術 1.靜態繫結 2.動態繫結 多型的應用 1.多型引數的傳遞 2.異構結合
抽象(abstract) 組成:抽象類可以 繼續編寫:成員變數、常量、方法行為、靜態常量(屬性或行為)、初始塊,甚至構造也可以。 構造器此時的作用:不是為了建立物件,是用於分配成員變數的儲存空間 抽象方法作用:規範子類的行為,強制性的要求子類必須重寫父類的方法實現 abstract在定義抽象方法的時候,最大的作用:用來規範子類的行為
抽象類
抽象類出來不能例項化,其他的都跟普通類一樣 物件抽象成類 類抽象成父類 抽象類不會區實現外部類的實現