面向對象封裝、重載,繼承、多態(面向對象三大特性之一)


封裝
目的:保護類,讓類更加安全。
做法:讓類里面的成員變量變為私有的,做相應的方法或者屬性去間接的操作成員變量

封裝成員方法來間接操作類里面的成員變量
使用成員屬性來間接訪問類里面的成員變量

訪問修飾符
private 私有的 只能在該類中訪問
protected 受保護的 只能在該類和它的子類中訪問
public 公有的 在任何地方都可以訪問


構造方法(函數):
作用:造對象所要調用的方法,用來創建對象,可以對成員進行初始化
每一個類都有一個構造方法,不寫也有只不過看不到而已

特殊性:寫法特殊 執行時間特殊

函數重載
函數重載需要的條件:函數名要相同,參數的個數或者參數的類型不同

----------------------------------------------------------------------

this關鍵字
雖然寫在類里面,但不是屬於類的,而是屬於該對象的
一般來說在類里面 this關鍵字是可以省略的,但是如果有一個方法形參名字和成員名字重復,這時候再調用該對象里面的成員的時候需要加this關鍵字

is關鍵字

判斷變量是不是屬於某個類型
if (y2 is Ren)
{
s = "是一個人";
}
else
{
s = "不是一個人";
}

as關鍵字
轉換類型(只能轉換兼容類型,可以將子類對象轉換為父類對象)

-----------------------------------------------------------------

繼承
子類可以繼承父類的一切
特點:單繼承
一個子類只能有一個父類 一個父類可以有多個子類
C#特殊點:所有類的祖先都是object

base關鍵字:在子類中代表父類對象,用法和this關鍵字相同
如果父類有構造方法,那么子類也要有構造方法,如果父類構造需要參數,那么子類構造也必須有相應的參數。
子類構造后面可以通過base調用父類的構造方法
public China(string m):base(m)
{
}

sealed關鍵字:密封類 該類不可以被繼承

部分類:partial 可以將一個類拆分成多個部分,分別放在多個文件內

namespace 命名空間 相當於虛擬文件夾

多態:
1.編譯多態
函數重載
2.運行多態
概念:當父類引用指向子類實例的時候,由於子類對父類的方法進行了重寫,在調用該方法的時候表現出的不同就稱為多態
條件:必須要有繼承 父類引用指向子類實例 子類必須對父類的方法進重寫

里氏代換原則:如果有一個地方需要使用到父類對象,那么你可以將一個子類對象給他


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM