1.物件是一個獨立自主的實體,用一組可識別的特性和行為來標示。

2.類別就是具有相同之屬性和功能的物件的抽象集合。

3.實體,就是一個真實的物件。實體化就是建立物件的過程,使用new關鍵字來建立。

4.建構式,又叫建構函式,其實就是對類別進行初始化。建構式與類別同名,無返回值,也不需要void,在new時調用。

5.所有類別都有建構式,如果你沒有做任何定義,系統會自動產生空的建構式,若你有定義建構式,那麼預定的建構式就會失效了。

6.方法重載提供了建立同名的多個方法的能力,但這些方法需要使用不同的參數類型。

7.方法重載時,方法名相同,但參數類型或個數必須要有所不同。

8.方法重載可在不改變原方法的基礎上,新增功能。

9.屬性是一個方法或一對方法,但在調用它的程式碼看來,它是一個欄位,既屬性適合於以欄位的方式使用方法調用的場合。

10.欄位是儲存類別要滿足其設計所需要的資料,欄位是與類別相關的變數。

11.public表示它所修飾的類別成員可以允許其他任何類別來存取。

12.private表示只允許同一個類別中的成員存取,其他類別包括它的子類別無法存取。

13.通常欄位都是private,即私有的變數,而屬性都是public,即公有的變數。

14.屬性有兩個方法get和set。

15.get存取器返回與宣告的屬性相同的資料類型,表示的意思是調用時可以得到內部欄位的值或參考。

16.set存取器沒有顯示設定參數,但它有一個隱式參數,用關鍵字value表示,它的作用是調用屬性時可以給內部的欄位或參考賦值。

17.每個物件都包含它進行操作所需要的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來完成自己的操作。

18.封裝有很多好處,第一、良好的封裝能夠減少耦合。第二、類別內部的實現可以自由地修改。第三、類別具有清晰的對外介面。

19.物件的繼承代表了一種"is-a"的關係,如果兩個物件A和B,可以描述為『B是A』,則表明B可以繼承A。

20.繼承者還可以理解為是對被繼承者的特殊化,因為它除了具備被繼承者的特性外,還具備自己獨有的個性。

21.繼承定義了類別如何相互關聯,共用特性。

22.繼承的工作方式是定義父類別和子類別,或叫做基礎類別和衍生類別,其中子類別繼承父類別的所有特性。

23.子類別不但繼承了父類別的所有特性,還可以定義新的特性。

24.如果子類別繼承於父類別,第一、子類別擁有父類別非private的屬性和功能。第二、子類別具有自己的屬性和功能,即子類別可以擴展父類別沒有的屬性和功能。第三、子類別還可以用自己的方式實現父類別的功能(方法重寫)。

25.protected表示繼承時,子類別可以對基礎類別有完全存取權。

26.子類別從它的父類別中繼承的成員有方法、欄位、屬性、事件、索引指示器,但對於建構式,它不能被繼承,只能被調用。對於調用父類別的成員,可以用super關鍵字。

27.不用繼承的話,如果要修改功能,就必須在所有重複的方法中修改,程式碼越多,出錯的可能性就越大,而繼承的優點是,繼承使得所有子類別公共的部份都放在父類別,使得程式碼得到的共用,這就避免了重複,另外,繼承可使得修改或擴展繼承而來的實現都較容易。

28.繼承是有缺點的,那就是父類別變動,子類別也不得不變。

29.繼承會破壞包裝,父類別實現細節暴露給子類別。

30.繼承顯然是一種類別與類別之堅強耦合的關係。

31.當兩個類別之間具備"is-a"的關係時,就可以考慮用繼承了。

32.多型表示不同的物件可以執行相同的動作,但要透過它門自己的實現程式碼來執行。

33.第一、子類別以父類別的身分出現。第二、子類別載工作時已自己的方式來實現。第三、子類別以父類別的身分出現時,子類別特有的屬性和方法不可以使用。

34.為了使子類別的實體完全接替來自父類別的類別成員,父類別必須將該成員宣告為虛擬的。這是透過在該成員的返回類型之前加上abstract關鍵字還實現。

35.子類別可以選擇使用override關鍵字,將父類別實現替換為它自己的實現,這就是方法重寫override,或者叫做方法覆寫。

36.不同的物件可以執行相同的動作,但要透過他們自己實現程式碼來執行。

37.多型的原理是當方法被調用時,無論物件是否被轉換為其父類別,都只有位於物件繼承練最末端的方法實現會被調用。也就是說,虛擬方法是按照其執行時類別,而非編譯時類型進行動態繫結調用的。

38.把類別的方法和方法宣告為abstract,即抽象類別和抽象方法。

39.第一、抽象類別不能實體化。第二、抽象方法是必須被子類別重寫的方法。第三、如果類別中包含抽象方法,那麼類別就必須定義為抽象類別,不論是否還包含其他一般方法。

40.抽象類別擁有盡可能多的共同程式碼,擁有盡可能少的資料。

41.抽象類別通常代表一個抽象的概念,它提供一個繼承的出發點,當設計一個新的抽象類別時,一定是用來繼承的,所以,在一個以繼承關係形成的等級結構裡面,樹葉節點應當是具體類別,而樹枝節點均應當是抽象類別。

42.介面是把隱式公共方法和屬性組合起來,以封裝特定功能的一個集合。

43.一旦類別實現了介面,類別就可以支援介面所指定的所有屬性和成員。

44.宣告介面在語法上與宣告抽象類別完全相同,但不允許提供介面中任何成員的執行方式。

45.一個類別可以支援多個介面。

46.注意介面用interface宣告,而不是class,介面中的方法沒有方法體。

47.抽象類別可以給出一些成員的實現,介面卻不包含成員的實現,抽象類別的抽象成員可被子類別部分實現,介面的成員需要實現類別完全實現,一個類別只能繼承一個抽象類別,但可實現多個介面。

48.第一、類別是對物件的抽象,抽象類別是對類別的抽象,介面是對行為的抽象。第二、如果行為跨越不同類別的物件,可使用介面,對於一些相似的類別物件,用繼承抽象類別。第三、從設計的角度講,抽象類別是從子類別中發現了公共的東西,泛化出父類別,然後子類別繼承父類別,而介面是根本不知子類別的存在,方法如何實現還不確認,預先定義。

49.實現介面和繼承抽象類別並不衝突。

50.透過重構改善既有程式碼的設計。

Posted by ufddsben at 痞客邦 PIXNET 留言(1) 引用(0) 人氣()


open trackbacks list Trackbacks (0)

留言列表 (1)

Post Comment

You haven’t logged in yet, please use guest status to leave message. You can also log in with above service account and leave message

other options