方法
c#的類的定義中可以包含兩種方法:靜態和非靜態的。使用static修飾符的方法為靜態方法,反之則是非靜態的。
靜態方法是一種特殊的成員方法,它不屬於類的某乙個具體的例項。非靜態方法可以訪問類中的任何成員,而靜態方法只能訪問類中的靜態成員。
例:class a
}方法的過載
類中2個以上的方法(包含隱藏的繼承而來的方法),取的名字相同,只要使用的引數型別或者引數個數不同,編譯器便知道在何種情況下應該呼叫哪個方法,這就叫做方法的過載。
繼承和多型
為了用軟體語言對現實世界中的層次結構進行模型化,物件導向的程式設計技術引入了繼承的概念。乙個類從另乙個類派生出來時,派生類從基類那裡繼承特性。派生類也可以作為其他的基類。從乙個基類派生出來的多層類形成了類的層次結構。
c#中的繼承符合下了規則:
繼承是可傳遞的。如果c從b中派生,b又從a中派生,那麼c不僅繼承了b中的宣告的成員,同樣也繼承了a中的成員。object類作為所有類的基類。
派生類應當是對基類的擴充套件。派生類可以新增新的成員,但是不能出去以繼承的成員的定義。
建構函式和析構函式不能被繼承。除此以外的其他成員,不論對他們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定派生類能否訪問他們。
派生類如果定義了與繼承而來的成員同名的新成員,就可以覆蓋以繼承的成員。但這並不因為這派生類刪除了這些成員,只是不能再訪問這些成員。
類可以定義虛方法、虛屬性以及虛索引指示器,它派生類能夠過載這些成員,從而實現類可以擴充套件出多型性。
多型性在c#中,多型的定義是:同一操作作用於不同的類的例項,不同的類將進行不同的解釋,最後產生不同的執行結果。c#支援兩種型別的多型性: 編譯時的多型性 執行時的多型性
to be continued...
物件導向之我見
繼承和多型 為了用軟體語言對現實世界中的層次結構進行模型化,物件導向的程式設計技術引入了繼承的概念。乙個類從另乙個類派生出來時,派生類從基類那裡繼承特性。派生類也可以作為其他的基類。從乙個基類派生出來的多層類形成了類的層次結構。c 中的繼承符合下了規則 繼承是可傳遞的。如果c從b中派生,b又從a中派...
物件導向之我見
看了幾天的物件導向,有些混沌了。故此寫下我對面向的理解。通俗一點講 物件導向 物件 類 繼承 通訊。所謂物件,是物件導向開發方法的基本成分。每個物件可用它本身的一組屬性和其上的一組操作 方法?來定義。可以是現實生活中的乙個物理物件 還可以是某一類概念實體的例項。從設計和分析的角度來看,物件表示了一種...
物件導向程式設計OOP之我見
類 物件封裝 繼承多型 其中345點也是物件導向三大特徵。類是乙個抽象的概念,物件是類的具體。比如 人或者事務就是乙個類,而人所具有的身高,體重,年齡就是類的具體。也就是物件。這樣理解就顯然通俗易懂了。物件是類的具體,即使對抽象事物的具體表示,使其具有自身的特點。比如人都有身高,體重,年齡,同時有行...