[問題] interface的修飾詞

作者: kisha024 (4545454554)   2015-08-11 16:27:29
各位好 如下一小段程式碼
修飾詞 interface Base
{ int P(); }
public class Derive : Base
{
public int P()
{ return 10;}
}
https://msdn.microsoft.com/zh-tw/library/ms173156%28v=vs.120%29.aspx
這裡寫 "介面成員會自動是公用的,因此,它們不能包含任何存取修飾詞。"
所以int P(); 並沒有任何修飾詞
因為class Derive的修飾詞是public 所以
我原本以為interface Base的修飾詞也要是public才行
但我發現interface Base沒有修飾詞 或者修飾詞是protected或private 也都不會出錯
想請問 當interface的修飾詞是protected或private 背後的涵義是什麼?
謝謝
作者: Litfal (Litfal)   2015-08-11 19:20:00
介面"成員"會自動是公用的原文: Interface "members" are automatically public,指的是介面裡面的事件、索引子、方法和屬性。而你指的 public interface,則是interface本身的存取範圍
作者: wulouise (在線上!=在電腦前)   2015-08-15 18:20:00
除了class裡面的class, C#好像不給人用private class吧?
作者: Litfal (Litfal)   2015-08-18 01:11:00
由於子類別會"繼承"父類別的成員,能訪問子類別,代表能訪問其所繼承的父類別,但若你父類別存取權限比較小,不就出現矛盾了?

Links booklink

Contact Us: admin [ a t ] ucptt.com