C中在子類中訪問父類成員的關鍵字是什麼

時間 2021-08-31 06:48:04

1樓:最紳士的痞子灬

使用base.呼叫父類裡面的屬性

public class parent

public class child :parent}1、父類不能直接強制轉換成子類

2、子類可以強制轉換成父類,但是在父類中只能取父類的欄位與方法因此在一個父類對應多個子類的時候,不知道具體是哪個子類的時候,就可以先宣告一個父類的型別。

3、由1,2知,父類不能直接強制轉換成子類,但是可以通過間接的方法進行轉換,例1中有所體現:將子類裝箱成父類,然後再把父類拆箱成子類,如例2。

4、雖然可以通過間接方式將父類轉成子類,但實際用處不大,因為需要一個臨時的子類來進行轉換,因為其實可以直接在子類直接轉換。

c# 在子類中例項化父類物件,然後用父類物件訪問父類中protected屬性或方法

2樓:然後去遠足

看來題主沒理解 protected 關鍵字到底是幹嘛的呀。

protected 是既不同於 public 的全公開、也不同於 private 的全不公開的,是一種半公開控制級別,外界無法直接訪問這個控制級別的成員,但是派生類的 base 指標可以獲得訪問能力。

c#中在子類中訪問父類成員的關鍵字是什麼?

3樓:匿名使用者

使用baibase.呼叫

du父類裡zhi面的dao屬性版

public class parent

public class child :parent}或者

權class child : parent}

c# 在子類中隱藏父類的成員使用子類例項的物件不能訪問父類的成員

4樓:吹花

在子類中同樣宣告一個public型的y,那麼子類例項化的物件訪問y時,就是子類的屬性y;達到隱藏父類屬性y的效果。

5樓:

父類中的方法修飾符用protected即可

6樓:陽光的雷咩咩

既然都隱藏了,你還能訪問它?

c# 在子類中呼叫不到父類的protected成員?

7樓:匿名使用者

//先看正確的例子

class program : a

}class a

對基類中protected成員的訪問,必須滿足:

基類中的protected成員,只能從(ⅰ)基類內部非靜態方法訪問(ⅱ)繼承這個基類的子類內部的非靜態方法訪問

-------

1)在問題中第1個程式中的錯誤是因為:你試圖從a類的外部訪問a內的protected成員。

2)在問題中第2個程式中的錯誤是因為:雖然將類program作為a的子類,但你試圖從子類的靜態方法(即main方法)訪問基類的protected成員。

8樓:匿名使用者

a test = new a();宣告出來的是一個新的類,和你繼承的沒有關係,所以會報錯

想用繼承類a的protected變數,可以用 this.age

9樓:陽光的雷咩咩

最好不要用program繼承自其他類,試試其他的吧。

10樓:匿名使用者

C在子類中呼叫不到父類的protected成員

先看正確的例子 class program a class a 對基類中protected成員的訪問,必須滿足 基類中的protected成員,只能從 基類內部非靜態方法訪問 繼承這個基類的子類內部的非靜態方法訪問 1 在問題中第1個程式中的錯誤是因為 你試圖從a類的外部訪問a內的protected...

C基類中的保護成員在其派生類中可以訪問,而派生類物件不可訪問

在類外,你可以把保護成員和私有成員一樣看待。在類內部,你可以訪問基類保護成員,不可以訪問基類私有成員。公有成員則是暴露的,隨時處在風口浪尖之中。 在派生類類內的成員函式中,如果有派生類例項物件的引用或者指標。可以通過該引用或指標來訪問基類的protected成員 保護成員不能通過物件,在外部進行訪問...

c 中可不可以在類中訪問另類的私有成員

a羅網天下 c 中可以在一個類中訪問另一個類的私有成員,通過定義友元類即可實現。class node public node int data 0 mdata data mpnext null private int mdata node mpnext friend class link 友元類本質...