非密封的基類中申明了密封方法,它的派生類的物件能否訪問這個密封方法

時間 2022-07-20 19:20:08

1樓:匿名使用者

密封類(sealed class)和密封方法(sealed method)不能混在一起。

首先,密封類不可以被繼承,既然不能繼承,方法上加protected都sealed都是沒意義的,因為這些方法是針對派生類的。還有,靜態類自動密封。

其次,說密封方法,間接或直接派生類從父類整合的protected方法可以無限制改寫,舉例:假設a類中有protected方法,b類繼承a,c類又繼承b,c和b都可以改寫a的protected方法。

但如果b改寫方法時加了sealed關鍵字,即(override sealed),b的所有派生類(包括c類)都不可以改寫次方法了。

2樓:定復

防止重寫和覆蓋

sealed 修飾符可以應用於類、例項方法和屬性。密封類不能被繼承。密封方法會重寫基類中的方法,但其本身不能在任何派生類中進一步重寫。

當應用於方法或屬性時,sealed 修飾符必須始終與 override(c# 參考)一起使用。

3樓:草薙在

當然可以 只要你的方法是protected以上的訪問修飾

C派生類繼承基類的所有成員,包括基類的私有成員

樓主你好。答案就是 繼承了,但是無法訪問。為什麼呢?我們用乙個例子來證明。比如我們有個基類 public class a 它有乙個私有成員name,和乙個保護的方法getname 然後我們寫個空類來繼承他 public class b a 好了,如果我們例項化這個類,並呼叫getname方法,並輸出...

C類的公有繼承,基類的私有成員在派生類中不可見或不可訪問,這個不可見或不可訪問是什麼意思

可口可越 外部成員無法訪問內部私有成員。 寒鐵礦 從物理上講是複製過來了,在記憶體中確實有複製。但是從程式上看是被遮蔽了,不能直接呼叫。 淺綠淡淡 簡單的表達一下,父母跟子女。基類就是父母,子女就是派生類。基類的私有成員就好比是父母的私房錢,子女能夠繼承父母的樣貌 即公有成員 但是子女沒法使用父母的...

關於c基類派生類的引用和指標,關於C 基類 派生類的引用和指標

1 首先回答第一個問題 用基類的指標指向派生類的物件,這樣做可以體現c 的重要特性 多型性。多型性其實也就是動態聯編。這樣做的好處是 當基類裡面定義了一個虛成員函式的時候,其派生類裡面定義了同名的函式可以實現覆蓋。你的基類指標指向那個物件,就呼叫那個物件的該方法。我舉個例子你應該就明白了 class...