C 中類相關

2021-06-27 09:27:12 字數 1119 閱讀 8080

1、隱藏基類方法:

(1)在子類中使用new關鍵字顯示的隱藏基類中的方法,基類的方法是虛擬的或非虛擬的都可以;

(2)如果繼承的方法是虛擬的(virtual),可以用override關鍵字重寫方法的實現**。

public class mybaseclass

}public class myderivedclass:mybaseclass}

使用new和override的區別:

myderivedclass mdc = new myderivedclass();

mybaseclass mbc;

mbc = mdc;

mbc.dosomething();

如上呼叫時,如果是用new重寫基類方法,則結果是:base。即,儘管隱藏了基類的實現**,但仍可以通過基類訪問它。

如果是用override重寫基類方法,則結果是:derived。即,重寫方法將替換基類中的實現**,即使通過基類型別訪問也是執行的重寫後的**。

2、類中使用base和this關鍵字:

base關鍵字表示包含在派生類中的基類的實現**。base引用的是物件例項,因此不能在靜態成員中使用base關鍵字。

this關鍵字表示當前的物件例項。this也是引用的物件例項,因此也不能在靜態成員中使用this關鍵字。因為靜態成員不是物件例項的一部分。

3、巢狀類:

巢狀類可以訪問其包含類的私有和受保護成員。如:

public class classa

set

}public class classb}}

呼叫:classa myobject = new classa();

console.writeline("myobject.state=", myobject.state);

classa.classb myotherobject = new classa.classb();

myotherobject.setprivatestate(myobject, 999);

console.writeline("myobject.state=", myobject.state);

結果輸出:

myobject.state=-1

myobject.state=999

C 類中相關概念

若條件判斷中出現了表示式 則計算表示式,結果若為0則為假,結果非0則為真。例如 for int i 10,j 1 i j 0 i j 假設a為乙個類 a a 表示宣告乙個a型別的物件。a b 宣告並定義乙個a型別物件,定義使呼叫無引數建構函式。a c 5 表示宣告乙個a型別的物件,並呼叫有引數建構函...

C 類及其相關

類是一種引用型別,在了解了類的一些基礎知識以後,對一些容易忽略的內容進行總結。1 呼叫基類構造器 作為乙個良好的程式設計習慣,派生類的構造器在執行初始化時,最好呼叫一下它的基類的構造器。為派生類定義構造器時,可以使用base關鍵字來指定呼叫乙個基類的構造器。下例 class mammal class...

C 中的類的型別轉換相關

c 中的class也是一種type,也可以執行type converting,即類型別轉換。可以由內建型別和類型別之間轉換,也可以在類和類之間進行型別轉換。類之間的型別轉換一般只能顯示定義,而父類和子類之間可以進行隱式型別轉換。內建型別和類型別之間轉換 include include include...