物件是自包含的實體,用一組可識別的特性和行為來標識
類是具有相同的屬性和功能的物件的抽象集合
例項化就是建立物件的過程
構造方法又稱建構函式,其實就是對類進行初始化。構造方法與類同名,無返回值,也不需要void,在new時候呼叫。
方法過載提供建立同名的多個方法的能力,但這些方法需要使用不同的引數型別。
屬性是乙個方法或者一對方法,但在呼叫他的**看來,它是乙個字段,即屬性適合以字段的方法使用的場合。
欄位是儲存類要滿足其設計所需的資料,欄位是與類相關的變數
get訪問器返回與宣告的屬性相同的資料型別,表示的意思是呼叫時可以得到內部欄位的值或引用
set訪問器沒有顯式設定引數,用關鍵字value表示,它的作用是呼叫屬性時可以給內部的字段或引用賦值
每個物件都包含它能進行操作所需的所有資訊,這個特性稱為封裝,因此物件不必依賴其他物件來完成自己的操作
封裝好處:
物件的繼承代表一種『is a』的關係,如果倆個物件a和b,可以描述為『b是a』,則表明b是可以繼承a
如果子類繼承父類1)子類擁有父類非private的屬性與功能;2)子類具有自己的屬性和功能,即子類可以擴充套件父類沒有的屬性和功能3)子類還可以以自己的方法實現父類的功能(方法重寫)
繼承是有缺點的,父類變,子類不得不變,繼承會破壞包裝,父類實現細節暴露給子類。
繼承顯然是一種類與類之間強耦合的關係
使父類可使用不同子類的方法
1)子類以父類的身份出現
2)子類在工作中以自己的方式來實現
3)子類以父類的身份出現時,子類特有的屬性方法不可使用
在父類前增加virtual,子類選擇使用override,方法重寫
多型的原理是當方法被呼叫時,無論物件是否被轉換為其父類,都只有位於物件繼承鏈最末端的方法實現會被呼叫。也就是說虛方法是按照其執行時型別而非編譯時型別進行動態繫結呼叫的。
對父類virtual的重寫
1)抽象類不能例項化
2)抽象方法必須被子類重寫的方法
3)如果類中包含抽象方法,那麼類必須定義為抽象類,無論是否包含其他一般方法。
抽象類擁有盡可能多的共同**,擁有盡可能少的資料
抽象類,抽象方法加abstract
介面是把隱式公共方法和屬性組合起來,以封裝特定功能的乙個集合。一旦類實現了介面,類就可以支援介面所指定的所有屬性和成員。
抽象類與介面區別:抽象類可以給出一些成員的實現,介面卻不包含成員實現,抽象類的成員可被子類部分實現,介面成員需要類完全實現,乙個類只能繼承乙個抽象類,但可以實現多個介面。
1)類是對物件的抽象;抽象類是對類的抽象;介面是對行為的抽象。
可用ilist或arraylist宣告變數名,ilist animal=new arraylist();
arraylist是不安全的,接受所有元素object
裝箱:把值型別打包到object引用型別中的乙個例項
拆箱:指從物件中提取值型別
裝箱與拆箱需要進行大量計算。
arraylist animal=new list();
委託是對函式的封裝,可以當作給方法的特徵指定乙個名稱。而事件則是委託的一種特殊形式,當發生有意義的事件時,事件物件處理通知過程。
委託是一種引用方法的型別。一旦委託分配了方法,委託將與該方法具有相同的行為。
委託物件用delegate 事件用event
大話設計模式之物件導向基礎
a.2 類與例項 物件是乙個自包含的實體,用一組可識別的特性和行為來標識。物件導向程式設計 object oriented programming 類就是具有相同的屬性和功能的物件的抽象的集合。例項,就是乙個真實的物件。例項化就是建立物件的過程,使用new關鍵字來建立。a.3 構造方法 構造方法,又...
大話設計模式 物件導向基礎 總結
11.集合 12.泛型 物件 一切事務皆物件,即所有的東西都是物件,物件就是可以看到,感覺到,聽到,觸控到,嚐到,或問道的東西。準確來說,物件是乙個自包含的實體,用一組可識別的特性和行為來標識。類 就是具有相同屬性和功能的物件的抽象的集合。class是表示定義類的關鍵字。注意 第一,類名稱首字母要大...
大話設計模式學習心得 物件導向基礎
從圖書館借了本大話設計模式,寒假好好啃啃。書的封面很像一本小兒漫畫書。呵呵。附錄a 物件導向基礎 類 具有相同屬性和功能的物件的抽象集合。相當於乙個模板。物件 是乙個自包含的實體。萬物皆物件。例項 乙個真實的物件。例項化 建立物件的過程。構造方法 對類進行初始化,與類同名,沒有返回值,在new的時候...