C 中的介面

2021-05-22 01:40:04 字數 2173 閱讀 9125

★ 介面是純抽象基類。

★ 介面是一種應用型別僅可以包括抽象成員。

★ 介面中的成員可以是events, methods, properties 和 indexers。

★ 當介面盡可以包括這些成員的宣告。在類中任何任何操作必須被實現。

★ 介面不能包含常量、字段、建構函式、析構函式和靜態成員。介面中的所有成員暗含是public。

★ 乙個介面允許乙個類從幾個介面繼承而來。

★ csharp 程式一次只能繼承乙個類但可以實現幾個介面。

★ 介面也可用來定義可由類使用的一組常量。

★ 介面提供「is a」關係。

【介面中的方法】

public inte***ce isampleinte***ce

【介面中的屬性】

public inte***ce isampleinte***ce

注意:介面屬性的訪問器不具有體。因此,訪問器的用途是指示屬性是否為讀寫、唯讀或只寫。

【介面索引器】

public inte***ce isomeinte***ce

【示例】介面定義

程式**:

public inte***ce ifile

public class myfile : ifile

class test

類myfile繼承了介面ifile並實現了介面中定義的方法delfile()和disfile()

【示例】

public inte***ce ifile

public class baseforinte***ce

public class myfile : baseforinte***ce, ifile

class test

定義乙個繼承類baseforinte***ce和介面ifile的新類myfile

【c# 允許多介面實現】

public inte***ce ifile

public inte***ce ifiletwo

public class baseforinte***ce

public class myfile : baseforinte***ce, ifile, ifiletwo

class test

執行結果:

disfile 實現!

delfile 實現!

這是baseforinte***ce的open方法

【顯示介面實現】

【介面繼承】

可以通過將多個介面組合到一起來建立新的介面

inte***ce iallfile : ifile, ifiletwo 

【is操作符為c# .net 介面】

最後看乙個新的c#操作符可以用於被定義類被解釋。這是is運算子。看下面的**段:

在例子中nodec為建立為clonablenode型別。當執行程式「if操作符」返回true。這意味著nodec也是inode型別。

【.net中的介面使用注意事項】

【介面的典型應用】

1. 介面作為引數:並不是傳遞了乙個抽象的介面,而是傳遞了實現了介面的物件。

2. 介面作為返回值:實際上就是返回乙個實現介面的物件。

介面是一組規範、一種標準,必須實現介面才能實現某種功能。典型的應用就是將介面作為引數時,要傳遞乙個實現介面的物件,另乙個就是將介面作為返回值,實際上要返回的也是實現了介面的物件。

【介面小結】

1. 介面是對繼承單根性的擴充套件。在c#中乙個子類不可以繼承多個父類。但介面可以從某種程度上實現了多重繼承功能。在c#中,乙個類雖然不能實現多重繼承,但乙個類可以實現多個介面。通過實現多個介面可以說是變相地實現了類的多重繼承。

2. 介面是一種規範和標準:乙個類如果實現了乙個介面,意味著這個類遵循了某種規範和約定。其他類可以通過這些規範和約定與它通訊。

3. 介面遮蔽了實現的細節:介面可以讓介面的使用者不必關心介面的實現者是如何實現介面。

4. 介面的使用方便團隊協作開發。

C 中的介面

儘管c 在定義介面時不用指明介面方法的訪問控制方式,但預設介面方法均為public型 這可以從反編譯的il 中看到 下面是使用reflector檢視的介面il class private inte ce abstract auto ansi icontrol 實現介面的類需要實現所有介面方法。通常情...

C 中的介面

本文將通過以下四個案例來分析c 中的介面究竟是如何工作的。儘管c 在定義介面時不用指明介面方法的訪問控制方式,但預設介面方法均為public型 這可以從反編譯的il 中看到 下面是使用reflector檢視的介面il class private inte ce abstract auto ansi ...

c 中的介面

定義 介面是一種約束形式,其中只包括成員定義,不包含成員實現的內容。目的 介面的主要目的是為不相關的類提供通用的處理服務,由於c 中只允許樹形結構中的單繼承,即乙個類只能繼承乙個父類,所以介面是讓乙個類具有兩個以上 基類的唯一方式。宣告 介面宣告的方式與宣告類的方式相似,但使用的 關鍵字是 inte...