物件:乙個自包含的實體,用一組可識別的特性和行為來標識。
物件導向程式設計(object—oriented programming)
類 :具有相同屬性和功能的物件的抽象的集合。類名稱首字母和各單詞首字母要大寫。
構造方法:又叫建構函式。其實對類進行初始化。構造方法與類同名,無返回值,也不需要void,在new時呼叫。
所有的類都有構造方法,比如:cat cat=new cat();中,new後面的cat()就是預設為空的構造方法。
方法過載的引數型別和個數必須有所不同。優點:在不改變原來方法的基礎上,新增功能。
屬性是乙個方法或一對方法,但在呼叫它的**看來,它是乙個字段,即屬性適合於以字段的方式使用方法呼叫的場合。
欄位是私有的,屬性公有的變數。
屬性的兩個方法:
get——返回與宣告的屬性相同的資料型別,表示的意思是呼叫時可以得到內部欄位的值或引用。(讀)
set——有乙個隱式引數,value表示。呼叫屬性時可以給內部的字段或引用賦值。(寫)
封裝好處:減少耦合、類內部自由修改、類具有清晰的對外介面
物件的繼承「is-a"的關係
子類繼承與父類的三句話
——子類擁有父類非private的屬性和功能
——子類可以擴充套件屬性、功能
——方法重寫(以自己的方式實現父類的功能)
不同 的物件可以 執行相同的動作,但要通過自己的**執行。
**實現:父類必須將該成員宣告為虛擬的(virtual),然後子類使用 重寫(override).索引器、事件、屬性都是可以重寫的。欄位不可以重寫。
抽象類需要注意三點:
——抽象類不能例項化,比如動物new動物。沒有意義
——抽象方法是必須被子類重寫的方法。
——如果類中含有抽象方法,類必須定義為抽象類。
介面是把隱式公共方法和屬性組合起來,為了封裝乙個特定功能的乙個集合。介面不能例項化,不能有修飾符、不能有構造方法、字段。
介面中的方法或屬性沒有修飾符、方法沒有方法體。
inte***ce與abstract類區別:對行為的抽象、對類的抽象。
集合:arraylist是命名空間system.collections下的一部分。宣告可以使用ilist介面,也可以直接宣告。
泛型:list需要system.collections.generic的命名空間。宣告可以 使用ilist介面,也可以直接宣告。
委託是一種引用方法的型別。一旦委託分配了方法,委託與方法有相同的行為。事件是用來 通知訊息的。
比如貓和老鼠。只要貓一叫,老鼠立刻跑。
//public delegate void catshouteventhandler(object sender,catshouteventargs args);//宣告委託
//public event catshouteventhandler catshout;//宣告事件
cat.catshout += new cat.catshouteventhandler(mouse1.run);
cat.catshout += new cat.catshouteventhandler(mouse2.run);
小菜鳥學C 物件導向之繼承
關於繼承 兩個要點 1.子類繼承父類的屬性方法 2.父類成員中被private修飾的私有字段不能被繼承 private 即私有訪問許可權 只限本類成員訪問 子類和例項都不能訪問 需要注意的是 子類不繼承父類有引數的建構函式 但是會預設呼叫父類的那個無參的建構函式 當在父類中建立乙個有引數的建構函式時...
物件導向基礎
什麼是物件導向程式設計?就是把萬事萬物都抽象成為物件,一切都是物件!什麼是抽象?抽象是從眾多的事物中抽取出共同的 本質性的特徵,而捨棄其非本質的特徵。例如蘋果 香蕉 生梨 桃子等,它們共同的特性就是水果。得出水果概念的過程,就是乙個抽象的過程。要抽象,就必須進行比較,沒有比較就無法找到在本質上共同的...
物件導向基礎
我想在這個園子裡面的新人,還是 掌門人 都對 物件導向 這幾字非常的耳熟了或者有一定的了解。但當乙個初學都在學習物件導向的時候,會遇到一些瓶頸和麻煩,認為物件導向非常的難以理解。那麼本章節主要是讓大家了解物件導向,並系統地掌握物件導向程式設計的技能點,消除初學者的疑惑.1 如何去學習物件導向的程式設...