C 介面(Interface)
介面定義了所有類繼承介面時應遵循的語法合同。介面定義了語法合同 "是什麼" 部分,派生類定義了語法合同 "怎麼做" 部分。
介面定義了屬性、方法和事件,這些都是介面的成員。介面只包含了成員的聲明。成員的定義是派生類的責任。介面提供了派生類應遵循的標準結構。
介面使得實現介面的類或結構在形式上保持一致。
抽象類在某種程度上與介面類似,但是,它們大多只是用在當只有少數方法由基類聲明由派生類實現時。
定義介面: MyInterface.cs
介面使用 interface 關鍵字聲明,它與類的聲明類似。介面聲明默認是 public 的。下面是一個介面聲明的實例:
interface IMyInterface
以上代碼定義了介面 IMyInterface。通常介面命令以 I 字母開頭,這個介面只有一個方法 MethodToImplement(),沒有參數和返回值,當然我們可以安裝需求設置參數和返回值。
值得注意的是,該方法並沒有具體的實現。
接下來我們來實現以上介面:InterfaceImplementer.cs
using System;
InterfaceImplementer 類實現了 IMyInterface 介面,介面的實現與類的繼承語法格式類似:
class InterfaceImplementer : IMyInterface
繼承介面後,我們需要實現介面的方法 MethodToImplement() , 方法名必須與介面定義的方法名一致。
介面繼承: InterfaceInheritance.cs
以下實例定義了兩個介面 IMyInterface 和 IParentInterface。
如果一個介面繼承其他介面,那麼實現類或結構就需要實現所有介面的成員。
以下實例 IMyInterface 繼承了 IParentInterface 介面,因此介面實現類必須實現 MethodToImplement() 和 ParentInterfaceMethod() 方法:
using System;
實例輸出結果為:
MethodToImplement() called.
※C 運算符重載
※C 結構(Struct)
※C 枚舉(Enum)
※C 類(Class)
※C 繼承
TAG:程序員小新人學習 |
※Collection介面和List介面
※Caffe安裝及配置Python介面(CentOS7)
※node+express+mongoDB寫簡單介面,Vue獲取介面
※微軟Surface Pro6曝光,取消Type-C介面
※微軟Surface Pro 7、Surface Laptop 3配置規格曝光:介面大變化
※傳明年iPhone將採用Type-C:淘汰Lightning介面?
※Kotlin 介面
※python介面測試之token&session的處理
※iPhone 11 Max曝光 或仍採用Lightning介面
※Surface Pro 6發布 依然沒有type-c介面
※Windows 10內測版新API介面暗示Surface Phone仍在開發
※iPhone介面進化之謎:Lightning介面會被Type-C取代嗎?
※python 基礎之 socket介面與web介面
※Surface Pro 6/Laptop 2仍無USB-C介面 高管回應
※Jmeter+Ant+Jenkins介面自動化測試框架搭建for Windows
※TypeScript旅途2:介面
※取消Lighting介面,明年iPhone將改用Type-C
※Oculus Rift S和Valve Index需與有HDMI介面的筆記本電腦連接
※Lightning介面時代終結?新款iPhone或將改用Type-C介面
※Oculus Rift新專利:類似MagSafe的磁吸式介面