設計模式 附錄a--物件導向基礎 概念總結
類與物件
概念:類是具有相同屬性和功能的物件的抽象的集合;物件是乙個自包含體,用一組可識別的特性和行為來標識。
說明:這兩個概念很好理解,因為我們生活中就經常用到,比如「演員」是乙個類,而「劉德華」就是乙個物件,「學生」也是乙個類,我們班的「李四」就是乙個物件。
類名首字母大寫,多個單詞組合則各個首字母大寫。
建構函式
概念:對類進行初始化。建構函式與類同名,無返回值,不需要void,在new時呼叫。
說明:所有的類都有建構函式,如果不編碼則系統預設生成空的構造方法,若有定義的構造方法,那麼預設的構造方法失效。
方法過載
概念:提供建立同名的多個方法的能力,但這些方法需使用不同的引數型別。
說明:方法名必須相同,引數型別或個數必須不同。
封裝
概念:每個物件都包含它能進行操作所需要的所有資訊,這個特性稱為封裝。
說明:封裝可以減少耦合,類內部的實現可以自由地修改,使類具有清晰的對外介面。
繼承
概念:代表了一種」is-a「的關係,如物件a和物件b可以描述為」b是a「,則表明b可以繼承a。
說明:子類擁有父類非private的屬性和功能;子類可以擴充套件父類沒有的屬性和功能;子類可以方法重寫;建構函式不能被繼承。
多型
概念:表示不同的物件可以執行相同的動作,但要通過它們自己的實現**來執行。
說明:子類以父類的身份出現,子類在工作時以自己的方式實現,子類以父類身份出現,子類特有的屬性和方法不可以使用。為了使子類的例項完全接替來自父類的類成員,父類必須將該成員宣告為虛擬的,使用關鍵字virtual,子類通過override進行方法重寫。
抽象類
概念:抽象類通常代表乙個抽象概念,它提供乙個繼承的出發點,當設計乙個新的抽象類時,一定是用來繼承的。
說明:抽象類不能例項化,抽象方法必須被子類重寫,如果類中包含抽象方法,那麼類就必須定義為抽象類,不論是否還包含其他方法。
介面
概念:把隱式公共方法和屬性組合起來,以封裝特定功能的乙個集合。
說明:一旦類實現介面,類就支援介面所指定的所有屬性和成員。乙個類可以支援多個介面,多個類也可以支援相同的介面。命名前面加」i".
原課本是有例子的,加上例子會好理解一些,本來自己也想加些例子,寫著寫著就寫不下去了,只好刪掉。在看模式的時候就是,貌似懂,可是看完書,敲完**感覺腦子裡還是一片空白。剛剛和**聊天,**說有些太摳了,建議往後進行,也許敲到後面,前面一下就通了。不過前面模式反覆看了不知道多少遍,終於有點感覺了。不知大家有什麼好學習方法,忘不吝賜教。
物件導向 基礎總結
物件導向設計的由來概述 面向過程 核心是過程,指的是解決問題的步驟。面向過程的設計好像一條流水線,是一種機械的思維方式。優點 複雜的問題流程化,進而簡單化。缺點 可擴充套件性太差。應用場景 一旦完成基本很少改變的場景。物件導向 核心是物件。物件導向更加注重對現實世界的模擬。python中一切皆物件。...
JavaScript 物件導向基礎總結
物件導向基礎總結 了解了物件導向與面向過程的區別 面向過程就是將乙個問題按需要一步一步往下做。而物件導向是將乙個問題看成是多個物件,其中包含了屬性與方法,當有需要時,就寫出相應的方法與功能,在呼叫。var p name 李四 屬性 屬性名 屬性值 age 20,屬性或方法結尾用 而不是用 點語法 物...
物件導向總結
成員變數 1.類中,方法外 2.建立物件存在與堆中,物件被 時一併消失 3.成員變數有預設值 區域性變數 1.方法中 2.呼叫方法存在於棧幀中,方法呼叫完畢隨棧幀一併消失 3.區域性變數沒有預設值 public class koo 重寫遵循 兩同兩小一大 兩同 1.方法名稱相同 2.引數列表相同 兩...