Key:  additions   deletions
Showing 4 pages
Date/Time Made By Edit Note Type Scope
Aug 9 2007, 6:51 AM EDT sadme
 
edit 1 word added
Change:  只能使用父類別擁有的函式,但是實際跑的時候會跑子類別所實做的函式(編譯器編譯時會判斷reference的型 別來限制範圍)Override: 覆寫一個函式必須signature(參數、回傳型別)和被覆寫的函式一樣才算覆寫,回傳型別可以是原回傳型別的子類 別(convariant回傳)。 存取等級不能變小。 異常範圍不能變大。 不能覆寫final、static或其他不能繼承的函式。 想呼叫被覆寫的函式可以用super。Overload: 參數一定要不同。 回傳型態可以不變。 存取修飾子可以不變。 異常宣告可以不同。Casting: 同繼承樹上可以轉型,通常是downcasting,因為向上轉型會自動執行,可以不寫。Interface: implements介面必須實做所有介面的函式。 可以用抽象類別implements介面,讓下一個具體的類別去實做所有函式。 一個類別可以實做不只一個介面(用逗點隔開),但只能繼承一個類別。 介面不能implements介面。 介面不能implements類別。 介面不能extends類別。 回傳: 回傳類別是物件時可以回傳null。 陣列可以是合法回傳型別。 回傳型別是物件參考時可以回傳任何可以轉成回傳型別的物件型別(array => object)Constructor: 建構子沒有回傳型別、名稱跟類別一樣。 沒寫建構子時編譯器會自動產生一個沒有參數的建構子。 建構子會先呼叫、執行父類別的建構子,一直到繼承樹最上方,最後執行自己。 建構子可以多載。 介面沒有建構子。 在父類別建構子完成前不能呼叫實體函式或存取實體變數。 父類別的建構子有參數時,呼叫父類別的建構子一定要給定參數。 建構子不能被繼承,所以不能被覆寫(只有實體函式可被覆寫)。 建構子第一行必須呼叫super()或this()。Static: 被宣告成static的函式或變數是被類別所執行,被所有實體所共用。 static的函式中不能直接存取實體函式、變數,可以透過物件參考存取。 存取static變數可以用'類別.變數"的方式存取。存取static函式可以用'類別.函式"的方式執行。耦合; 類別與類別之間的關聯程度。 越低越好,不應該類別之間互相知道不該知道的細節。內聚: 類別內部的關係。 越特殊越好,一個專門處理某特定工作的類別具有優良的內聚力。   View changes from previous version. (Word count: 25)
Aug 8 2007, 1:17 PM EDT swangs
 
edit 60 words added
1 word deleted
Aug 2 2007, 4:35 AM EDT swangs
 
edit 1 word added
Aug 2 2007, 1:04 AM EDT swangs
 
create No content added or deleted.


Top Contributors