C 物件導向程式設計基礎概念彙總

2022-09-26 03:21:13 字數 2200 閱讀 8730

一、類與例項

物件是乙個自包含的實體,用一組可識別的特性和行為類標示,物件導向程式設計,就是針對物件編寫類,就是具有相同屬性和功能的抽象的集合。程式設計客棧

注意:

例項,就是乙個真實的物件,例項化就是建立物件過程,使用new關鍵字來建立。

二、構造方法

構造方法又叫建構函式,其實就是對類進行初始化,構造方法與類同名,無返回值,也無需void,在new時候呼叫。

所有的類都有構造方法,如果你不編碼則系統會預設生成空的構造方法,若你有定義的構造方法,那麼預設的構造方法便會失效

例子:三、方法過載

方法的過載提供了建立同名的多個方法的能力,但這些方法需使用不同法人引數型別。

注意:方法過載時,兩個方法必須要方法名相同,但引數名不和引數個數必須要有所不同。

過載的好處:可以在不改變原方法的基礎上新增功能。

四、屬性與修飾符

屬性是乙個方法或一對方法,但在呼叫他的**來看,他是乙個字段,即屬性適合一字段的方式使用方法呼叫的場合。

欄位是儲存類要滿足七十幾所需要的資料,欄位是與類相關的變數。

例子:public和private區別:

他們都是修飾符,public表示他所修飾的類成員可以允許其他任何類來訪問。private只允許同乙個類中的成員訪問,其他類包括他的子類都無法訪問。

屬性的get和set方法的含義:

屬性有:兩個方法get和set,get訪問器返回與宣告的屬性相同的資料型別,表示的意思是呼叫時可以得到內部欄位的值或引用;set訪問器沒有顯示設定引數,但它有乙個隱式引數,用關鍵字value表示,他的作用是呼叫屬性時可以給內部字段或者引用賦值。

五、封裝

每個物件都包含他能進行操作所要的所有資訊,這個特性稱為封裝,因此物件不程式設計客棧必依賴其他物件來完成自己的操作。

封裝的好處:

六、繼承

物件的繼承代表了一種is-a的關係,如果兩個物件,a和b,可以描述為b是a,則表明b可以繼承a.繼承者可以理解為是被繼承者的特殊化,因為他除了具備被繼承者的特性外,還具備自己獨有的個性,繼承定義了類如何相互關聯,共享特性。繼承的工作方式是定義父類和子類,或者叫基類和派生類,其中類繼承父類的所有特性,子類不但繼承父類的所有的特性,還能自己定義新的特點。

學好繼承三個注意點:

如果子類繼承父類:

protected表示繼承時,子類可以對父類有完全訪問權

子類從他的父中繼承的成員有方法,域,屬性,事件,索引器。但對於構造方法,他不能被繼承,只能被呼叫,對於呼叫父類的成員,可與用base關鍵字。

如果不用繼承的話,如果要修改功能,就必須在所有重複的方法中修改,**越多,出錯的可能性越大,而繼承優點是,繼承使得所有子類公共的部分都放在了父類,使得**得到了共享,這就避免了重複,另外,繼承可以使得修飾或者擴充套件而來的擴充套件都比較容易。

繼承的缺點:父類變,子類不得不變。

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

七、多型

多型表示不同的物件可以執行相同的動作,但要通過他們自己的**類執行

虛方法和重寫

為了是子類的例項完全接替來自父類的類成員,父類必須將該成員宣告為虛偽的,這是通過在改成員的返回值型別之前新增virtual關鍵字來實現,子類可以使用override關鍵字,將父類實現,替換為自己實現,這就是方法的重寫override。

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

八、重構

c#允許把類和方法宣告為abstract,即抽象方法

注意:

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

九、介面

關鍵字inte***ce

介面是把隱式公共方法和屬性組合起來,以封裝特定功能的集合,一旦實現了介面,類就可以支援介面所指定的所有屬性和成員,宣告介面和宣告抽象類完全相同,但不允許提供介面中任何成員不能的執行方式,實現介面的類,就必須要實現介面的所有方法和屬性。

乙個類可以支援多個介面,多個類也可以支援相同的介面,介面的命名前面要加上大寫字母「i」

注意:介面用inte***ce宣告,而不是class,介面名稱前面要加i,介面的方法或屬性前面不能有修飾符、方法沒有方法體

抽象類和介面的區別:

參考自大話資料結構

物件導向的設計原則:

總結

物件導向程式設計技術基礎彙總

知識點 掌握程度 語句了解 陣列掌握 建構函式 掌握字段 屬性 掌握靜態類,密封類,抽象類 掌握介面 熟練繼承 掌握1.console.writeline 列印到控制台並換行 2.c 型別 值型別 引用型別 3.namespace 不同資料夾下的類可以屬於同乙個namespace 4.字串相加 使用...

物件導向基礎 概念

類 類時模子,確定物件將會擁有的特徵 屬性 和行為 方法 物件 看的見,摸得到,具體的,特指的 區別 類是抽象的概念,僅僅是模板,物件是乙個你能夠看得到 摸得到的具體實體 舉例 桌子 類 這個桌子 物件 值得注意的是字段與屬性之間的關係 字段 在類中定義的變數,用來儲存描述類的特徵的值 public...

C 物件導向程式設計的重要概念

1.1 類與物件 物件 object 是類 class 的乙個例項 instance 如果將物件比作房子,那麼類就是房子的設計圖紙。所以物件導向程式設計的重點是類的設計,而不是物件的設計。類可以將資料和函式封裝在一起,其中函式表示了類的行為 或稱服務 類提供關鍵字public protected 和...