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中類的成員有哪些
1 成員分類 62616964757a686964616fe78988e69d8331333365646262 1 時間 類的成員或者是靜態成員 static member 屬於類。例項成員 instance member 屬於物件。2 空間 屬性 方法 索引 事件 巢狀類 欄位。2 成員的可訪問性...
C 類的公有繼承,基類的私有成員在派生類中不可見或不可訪問
在c 語言中,一個派生類可以從一個基類派生,也可以從多個基類派生。從一個基類派生的繼承稱為單繼承 從多個基類派生的繼承稱為多繼承。方式如下 公有繼承 public 私有繼承 private 保護繼承 protected 是常用的三種繼承方式。1.公有繼承 public 公有繼承的特點是基類的公有成員...
c類成員函式可以定義變數嗎,C中定義的類,成員函式可以直接使用嗎
什麼叫 函式可以定義變數嗎 是在函式裡定義變數還是啥意思?沒有 函式可以定義變數 這種說法 c 中定義的類,成員函式可以直接使用嗎?沒有物件的時候要訪問類成員函式的話,只能訪問靜態成員函式。例如 class a 這樣可以在主函式裡直接用 a abc 這樣的語句進行呼叫。請教一下 c 類中privat...