一、接口
接口是C#中很常見的工具,概念什麼的就不說了,這裡講幾個值得注意的小地方:
1、接口內部只能有函數、屬性和事件的聲明:
interface IParent在接口中聲明的成員都不需要訪問修飾符(public,private等),因為接口成員的權限默認都是public,另外值得注意的是接口中之所以能夠聲明事件是因為事件就是委托的特殊屬性。
接口不能是靜態的,接口成員也只能聲明為實例成員不能聲明為靜態成員,如下聲明就是錯誤的:
static interface IParent你會得到提示:
錯誤 1 修飾符“static”對該項無效 C:Documents and SettingsHMD桌面\CLR_ExciseCLR_ExciseLib.cs 10 22 CLR_Excise
原因是如果接口是靜態的就無法被繼承,靜態成員也無法被接口直接訪問(因為接口中的成員都還沒有實體只是聲明)所以定義在接口中無意義。
2、接口支持部分聲明:
上面的接口實際上可以在一個命名空間裡聲明為3部分:
partial interface IParent上面這種部分接口的聲明方式和聲明為一個接口的效果完全相同,若要了解部分關鍵字partial請查看:C#裡partial關鍵字的作用(轉摘)
3、接口的實現:
接口成員的實現方式分為兩種:
<1>隱式實現:
class ChildrenA : IParent