第8章 多型

2021-08-11 10:17:11 字數 1320 閱讀 2884

執行時的多型:

我們所說的多型一般是執行時的多型。

要使用多型,在宣告物件時就應該遵循一條法則:宣告的總是父類型別或介面型別,建立的是實際型別。物件導向的三大特徵:封裝 繼承 多型多型通過分離 做什麼 和 怎麼做 ,從另外的乙個角度將介面和實現分離開來。

封裝通過合併特徵和行為來建立新的資料型別。「實現隱藏」則是通過將細節「私有化」把介面和實現分離開。

多型的作用是消除型別之間的耦合關係。

多型也叫作動態繫結,後期繫結,執行時繫結。

首先是乙個多型的例子:

class instrument 

}public

class

wind

extends

instrument

}public

class

music

public

static

void

main(string args)

}// output:

middle_c

public

class

privateoverride

public

static

void

main(string args)

}class derived extends privateoverride

} /* output:

private f()

class

super

}class

subextends

super

public

int getsuperfield()

}public

class

fieldaccess

} /* output:

sup.field = 0, sup.getfield() = 1

sub.field = 1, sub.getfield() = 1, sub.getsuperfield() = 0

*///:~

根據以上規則,當我們手動寫dispose()方法的時候,我們銷毀的順序應該是和初始化的順序是相反的,因為這樣可以避免某個子類物件依賴其他的物件。

如果遇到類之間有共享變數的情況,那麼銷毀的順序就變得複雜了,一般採用計數器的方法,記錄著引用的個數。

在構造器內唯一安全呼叫的那些方法是final方法,也適用於private方法,因為他們自動屬於final方法。

第8章指標

1.指標 指標是儲存記憶體位址的變數。在記憶體中每一塊儲存單元都有相對應的唯一的位址編號,指標就是一塊儲存這種編號的空間 2.對於乙個變數可以用 符號來獲取它的位址 int a int p a 什麼樣的變數,就需要宣告對應的型別的指標。這是為了告訴系統,我從這個位址開始要讀取多少位的記憶體塊,才能正...

第8章 函式

位置實參,關鍵字是參 預設值,注意順序,把已經有預設值的放在最後 topping這個可以接收任何實參,一般放形參最後,它是個空元組,當作列表一樣就行 def pet name,size 27 預設值 print name size n input please get me a name s inp...

第8章 函式

定義函式,注意書寫格式 向函式傳遞資訊 實參和形參 傳遞實參 位置實參,注意順序 關鍵字實參,名稱和值對應,寫在函式裡,務必準確指定函式定義的形參名 預設值混合使用時,注意格式,讓實參變成可選的,新增預設值,並且放在形參列表最後 切片法 建立列表副本 星號建立空元組,傳遞任意數量的實參 結合使用位置...