困擾好久了,趕高手就我!關於C子類訪問父類protected成員

時間 2021-08-14 20:34:09

1樓:匿名使用者

class car 繼承了 vehicle以後 this.weight 可以訪問。這叫繼承。。。

或者 ((vehicle)this).weight 也可以。

你在哪new那也叫例項化,跟繼承沒半毛錢關係。

2樓:陽光的雷咩咩

無法通過型別「type1」的限定符訪問保護成員「member」;限定符必須是型別「type2」(或者從該型別派生的)

派生的類無法通過基類的例項來訪問其基類的受保護成員。 在派生的類中宣告的基類的例項在執行時可能是另一個型別的例項,該型別從相同的基派生但與派生的類無關。 由於受保護成員只可由派生的型別訪問,因此要訪問可能在執行時無效的受保護成員的任何嘗試都會由編譯器標記為無效。

再結合你的**,你的**看似是宣告瞭個vehicle,但如果你這樣寫呢?

vehicle v1 = new vehicle();

train t=new train();

v1=t;

v1.weight //此時你認為訪問到的是vehicle的還是train的,v1現在是train,car不派生自train,因此不能訪問。我沒有改動你的**,只是新增了額外的一句,造成了不能訪問。

而編譯器按照最保險的原則報錯。

3樓:evil瓜

定義好的類都沒有例項化

繼承關係中子類是跟父類重名的方法子類是會覆蓋掉父類的

類train壓根就沒有繼承父類就算你在類中new 了車的類但是它的weight的欄位是protect修飾符只供繼承它的子類訪問,而wheels 欄位是是public所以可以賦值

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

4樓:匿名使用者

使用baibase.呼叫

du父類裡zhi面的dao屬性版

public class parent

public class child :parent}或者

權class child : parent}

c# 子類繼承了父類的private欄位或方法嗎?

5樓:

私有的是不能繼bai承過來du

了不太清楚,不能zhi訪問是確定的,此外繼承

dao的東西和父類肯定不內是一個空間的,類容的定義是不分配空間的,只有類的實現時分配各自的空間,肯定不會和父類的重合的,子類實現和父類的實現都是各地單獨的空間。

6樓:

私有成員是會被父類整合的,除非是密封的方法活著屬性。題主不妨自己寫一個私有欄位,然後用一個公開屬性封裝他,讓子類繼承這個公開屬性,然後你會發現你可以通過這個公開屬性修改那個你繼承來的私有欄位喔~

7樓:匿名使用者

在copyc#中,子類不能繼承

父類中用private修飾的成員變數和成員方法。

c#中的繼承:

(1)c#中,派生類只能從一個類中繼承;派生類從它的直接基類中繼承成員:方法、域、屬性、事件、索引指示器。除了建構函式和解構函式,派生類隱式地繼承了直接基類的所有成員。

(2)c#中的繼承規則

1、繼承是可傳遞的。如果c從b中派生,b又從a中派生,那麼c不僅繼承了b中宣告的成員,同樣也繼承了a中的成員。object 類作為所有類的基類。

2、派生類應當是對基類的擴充套件。派生類可以新增新的成員,但不能除去已經繼承的成員的定義。

3、建構函式和解構函式不能被繼承。除此以外的其它成員,不論對它們定義了怎樣的訪問方式,都能被繼承。基類中成員的訪問方式只能決定派生類能否訪問它們。

4、派生類如果定義了與繼承而來的成員同名的新成員,就可以覆蓋已繼承的成員。但這並不因為這派生類刪除了這些成員,只是不能再訪問這些成員。

5、類可以定義虛方法、虛屬性以及虛索引指示器,它的派生類能夠過載這些成員,從而實現類可以展示出多型性。

6、派生類只能從一個類中繼承,可以通過介面實現多重繼承。

(3)訪問與隱藏基類成員

8樓:匿名使用者

不能訪問只是在子bai類的du函式成

員中不能訪問,但是在zhi父類的函dao數成員中可以訪問,而這些函回數成員答可以繼承給子類,子類就可以間接訪問paivate了!另外通過base(),一樣的道理,也可間接操作父類的private成員,不信你試試!

9樓:匿名使用者

private修飾的是私有成員變bai

量的du,也就是隻能本類使用

zhi,父類的private欄位只能dao父類自己使用protected修飾的是專保護型別成員變數,屬也就是繼承的子類也可以使用,父類的

protected欄位可以再父類和他的子類中使用public修飾的是公用成員變數,父類的public欄位,可以在其他類中使用,不管是不是這個父類的子類

10樓:我不發財

private是繼承不下來的。它只能在類內使用。繼承後沒有該方法與欄位如果想繼承出啦可以使用公開的public。

11樓:匿名使用者

private欄位或方法只能在其本身的class中操作,不能被繼承

12樓:匿名使用者

private只能在類的本身裡呼叫,子類繼承不過來的,可以繼承public,protected,protected internal

13樓:匿名使用者

如果定義的類是private的好像只是在父類中使用吧,至於繼承好像沒有的!不然的話應該可以呼叫的!

14樓:匿名使用者

除了構造方法 析構方法,子類可以繼承到父類的所有成員.即使private成員,但子類無法直接訪問private成員

求求大家幫我困擾我好久好久啦

因為你和同事在一起的時間短 相互不瞭解而且還會有年齡差異同時還會存在社會因素在裡面存在利益衝突,而同學便不一樣大家在一起的時間長 相互多少了解 思想單純善良,你們之間沒有年齡差異存在共同語言,從而見到老同學就像見到親人。這些現象在每個人身上都會發生 隨時間消磨和年齡的增長會慢慢改變,現在只要多多去熟...

結腸炎好久了,結腸炎好久了

河北神醫喜來樂 你好,如果有結腸炎的話,經常 可以服用君康達或者蒙脫石散,如果伴有腹痛的話,也可以服用頭孢類的消炎藥。症狀控制之後一般可以找個老中醫,服用一段時間的中藥來進行調理。你好,我有慢性結腸炎好久了。怎麼 有人給我個藥方,您給我看下吧,可以服用嗎?謝謝了,大 索平露 慢性結腸炎本來就 抄不容...

怎麼容易長高,老問題了困擾我好久 求介紹詳細點腦子不好用

相信你在不久的將來很快就可以好的,熟睡狀態下,每天晚上10 12點和清晨5點左右是生長激素分泌的高峰期,因此兒童應在晚上9點前入睡,早上6 30或7 00以後起床,以保證生長激素更好地分泌。體育鍛煉應儘量選擇拉單槓 跳繩 籃球等縱向運動,均有助於孩子身體長高。如果孩子精神狀態長期處於壓抑狀態,生長激...