面向對象
1.類:眾多對象抽象出來的
2.對象:類實例化出來的
3.類的定義
關鍵字 class
4.類裡面包含
成員變量
成員屬性
成員方法
5.面向對象三大特性
(1)封裝
目的:保護類,讓類更加安全。
做法:讓類裡面的成員變量變為私有的,做相應的方法或者屬性去間接的操作成員變量
封裝成員方法來間接操作類裡面的成員變量
使用成員屬性來間接訪問類裡面的成員變量
訪問修飾符
private 私有的 只能在該類中訪問
protected 受保護的 只能在該類和它的子類中訪問
public 公有的 在任何地方都可以訪問
構造方法(函數):
作用:造對象所要調用的方法,用來創建對象,可以對成員進行初始化
每一個類都有一個構造方法,不寫也有只不過看不到而已
特殊性:寫法特殊 執行時間特殊
this關鍵字:
this代表該對象,不是代表該類
(2)繼承:
概念:子類可以繼承父類的一切
特點:單繼承 一個子類只能有一個父類,一個父類可以有多個子類 (所有父類都是object)
base關鍵字
sealed關鍵字:密封類 該類不可以被繼承
部分類:partial 可以將一個類拆分成多個部分,分別放在多個文件內
namespace 命名空間 相當於虛擬文件夾
(3)多態:
1.編譯多態
函數重載
2.運行多態
概念:當父類引用指向子類實例的時候,由於子類對父類的方法進行了重寫,在調用該方法的時候表現出的不同就稱為多態
條件:必須要有繼承 父類引用指向子類實例 子類必須對父類的方法進重寫
裡氏代換原則:如果有一個地方需要使用到父類對象,那麼你可以將一個子類對象給他
1.函數重載
函數重載需要的條件:函數名要相同,參數的個數或者參數的類型不同
2.this關鍵字
雖然寫在類裡面,但不是屬於類的,而是屬於該對象的
一般來說在類裡面 this關鍵字是可以省略的,但是如果有一個方法形參名字和成員名字重復,這時候再調用該對象裡面的成員的時候需要加this關鍵字
3. is關鍵字
判斷變量是不是屬於某個類型
if (y2 is Ren) { s = "是一個人"; } else { s = "不是一個人"; }
4. as關鍵字
轉換類型(只能轉換兼容類型,可以將子類對象轉換為父類對象)
5.繼承
子類可以繼承父類的一切
特點:單繼承
一個子類只能有一個父類 一個父類可以有多個子類
C#特殊點:所有類的祖先都是object
base關鍵字:在子類中代表父類對象,用法和this關鍵字相同
如果父類有構造方法,那麼子類也要有構造方法,如果父類構造需要參數,那麼子類構造也必須有相應的參數。
子類構造後面可以通過base調用父類的構造方法
public China(string m):base(m) { }
以上所述是小編給大家介紹的SQL封裝、多態與重載,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對網站的支持!