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中子類建構函式中如何呼叫父類建構函式
四捨 入 class a class b a 子類的子類呼叫父類中的隱藏成員 一般情況,在呼叫父類成員時子2代和子1代沒什麼區別。但如果子1代隱藏父類成員,情況就會不同。像上面的情況,son隱藏了父類的成員變數name和成員方法tellname 如果再有乙個類grandson繼承son,那grand...
困擾好久了,趕高手就我!關於C子類訪問父類protected成員
class car 繼承了 vehicle以後 this.weight 可以訪問。這叫繼承。或者 vehicle this weight 也可以。你在哪new那也叫例項化,跟繼承沒半毛錢關係。 陽光的雷咩咩 http msdn.microsoft.com zh cn library s9zta243...
c 類中成員函式的問題
1.你這基礎實在薄弱,基本概念都還沒懂 2.下面的void m f1 m m 是對類裡面 static void f1 m m 函式的實現。m m 的意思定義一個m的物件m.也就是這個函式的引數必須是一個m的物件。3.m p 5 q 10 這裡的定義兩個m物件 括號裡的值是傳遞給建構函式的,即呼叫此...