介面描述的是可屬於任何類或結構的一組相關行為,所以實現介面的類或結構必須實現介面定義中指定的介面成員。
定義:使用inte***ce 關鍵字,由方法、屬性、事件、索引器或這四種成員型別的任意組合構成。另可使用new、public、protected、intenal和private等修飾符實現介面,但介面成員必須是公共的。
正常人剛接觸介面常認為介面多此一舉,畢竟直接呼叫方法就可以了,為什麼要用介面呢。那其存在的意義是什麼?
總結了一下,介面的目的在於方便類的統一管理和呼叫,增強約束力。
下面舉個簡單例子。
inte***ce iprogram
class program:iprogram
static void main(string args)
}
先看上面的**,宣告乙個介面,然後例項化呼叫方法,似乎我不要介面也可以實現,而且更簡單。
class program
static void main(string args)
}
那介面在這種情況下並沒有什麼用。看下面的**:
class laugh
//顯式實現介面成員
}class cry
//顯式實現介面成員
}class program
}
inte***ce iprogram
class laugh: iprogram
//顯式實現介面成員
}class cry: iprogram
//顯式實現介面成員
}class program
}
由上面的對比可以看出,介面適用於多個類都有共同的方法,使用介面可以對這些方法同統一呼叫管理。
類繼承不僅是說明繼承,也是實現繼承;介面繼承只是說明繼承。派生類可以繼承基類的方法實現,而派生的介面只繼承了父介面的成員方法說明,而沒有繼承父介面的實現。
c#中類繼承只允許單繼承,但是介面繼承允許多繼承,乙個子介面可以有多個父介面。
參考文章如下:
c# 介面《通俗解釋》
c#之介面
C 介面詳解
使用關鍵字inte ce建立的資料型別。1 擴充套件乙個已有類的行為。2 規範不同型別的行為。1 介面是抽象的,介面是一組行為的抽象。介面只表達 能做什麼 不表達 如何做什麼 2 介面是規範,定義一組對外的行為規範。即實現類必須實現介面的所有成員。1 介面中不能包含字段,可以包含 行為 方法,屬性,...
Linux下C呼叫C 介面詳解
c 做久了,經常用c 的方式去思考問題,有時候就突然發現自己不太會寫c程式了。寫程式的時候,難免會用到第三方外掛程式或者是庫,而這些外掛程式或者庫很多時候都不能完全滿足我們的需求,遇到這種情況,如果全是c 那好辦,寫個介面卡就ok了,關於介面卡模式參考我的部落格 c adaptor 設計模式 如果要...
C 介面歸納總結例項詳解
c 介面的學習,在程式設計中,我們經常會用到介面,那什麼是介面呢?介面描述的是可屬於任何類或結構的一組相關功能,所以實現介面的類或結構必須實現介面定義中指定的介面成員。介面使用inte ce關鍵字進行定義,可由方法 屬性 事件 索引器或這四種成員型別的任意組合構成。介面的特性 1.介面類似於抽象基類...