1. 程式人生 > >C#學習筆記第二發---面向對象

C#學習筆記第二發---面向對象

使用 區分 是把 修飾 面向 筆記 一個 override 調用父類

C#是面向對象的編程語言,而面向對象的語言都有三大特征:封裝、繼承、多態。

封裝:封裝就是把一些內容集合在一起,通過訪問修飾符來一起控制。訪問修飾符有public、private、internal、protected、internal protected。

public和private較為常用,分別用於修飾被外部調用的值或者方法和不被外部調用和訪問的值和方法。internal是在本項目中可以調用(項目又稱為程序集assembly,註意與命名空間nameapace區分),protected是指在這個class和繼承於他的class可見;internal protected則是兩者的相加,可以在本項目集和他的繼承類中訪問。

繼承:用於新的class使用舊的class但是還需要新的獨有的東西,就用到了繼承,C#只能實現單繼承,但是可以實現多個接口。如果需要在子類中重寫父類的方法,在父類中需要在方法前加virtual關鍵字,子類重寫的方法前加override關鍵字。如果父類沒有寫virtual,則在子類中的重寫方法前要加new,new的意義就是相當於在子類中屏蔽父類的同名方法。這兩種方法的區別在於強制類型轉換後,使用override重寫的方法會使用子類的方法,而使用new重寫的方法會使用父類的。不需要被繼承的類前面可以加sealed關鍵字。方法之間也可以繼承,繼承之後調用時先調用父類的被繼承方法,再調用子類的方法

多態:一個形態實現多個功能,分為靜態多態和動態多態,靜態多態是在編譯時實現多態,而動態多態實在運行時實現。靜態多態主要由重載實現,重載的方法前要有static關鍵字,重載可以由參數類型不同、參數類型順序和數目不同來實現,不能通過返回值的改變來實現,可以通過關鍵字operator來實現運算符的重載。動態多態由關鍵字virtual和override實現,通過繼承同一個父類,並重寫同一個方法,創建實體類時使用不同的子類來實現父類,從而調用不同子類內的重寫後的方法,來實現動態多態。

C#學習筆記第二發---面向對象