如何理解C介面中的方法 屬性 索引器和事件

時間 2021-08-11 17:08:12

1樓:匿名使用者

例子:模具知道吧。介面就好比是個模具 你要幹活前提必須按照模具的樣子幹過。

給你找了個你看看

2樓:匿名使用者

一個介面定義了一個行為契約。介面可以包容方法、屬性、事件、以及索引器。在一個介面宣告中,我們可以宣告零個或者多個成員。

所有介面成員的預設訪問型別都是public。如果在介面成員宣告中包括了任何修飾符,那麼會產生一個編譯器錯誤。與一個非抽象類類似,一個抽象類必須提供介面中所有成員的實現,只要這些成員在這個類的基類中出現過。

請看下面的介面:public inte***ce idrawingobject

int this[int index] //索引器

void setvalue(); //方法

}該介面包含了 c# 介面所能接納的所有成員,事件,屬性,索引器,方法。把該介面編譯後,我們用 msil disassembler 工具檢視一下:

這下大家都明白了,其實屬性name 對應於 get_name()、set_name() 這兩個方法,事件ondraw 對應於 add_ondraw()、remove_ondraw() 這兩個方法,索引器對應於 get_item()、set_item() 這兩個方法。再看下面的委託和類的定義:public delegate void testeventdelegate(object sender, system.

eventargs e);

class testclass

}看到了吧,定義一個委託和定義一個類是沒有什麼區別的,都是定義了個新的型別。所以 c# 介面是不能有委託的,除非微軟告訴我們 c# 介面中是可以定義類的。

3樓:趙子邵天

介面就相當於 現實中的實物圖一樣 在你操作工作中 依他為仿照物

c 中類的理解

c 中的結構和類沒有本質的區別,類是一種特殊的結構,在c 中,結構也可以包含函式在裡邊,不信你可以試試,類是把資料跟方法封裝在一起的,要呼叫類就是呼叫類的方法 函式 如 class student private int name public void setname void student s...

C,簡述介面與抽象類的異同,c 中抽象類和介面的相同點與區別

thomas狗蛋 介面是抽象的集合,意思就是介面中是不能存在實現的,介面主要是定義行為,就是 能幹什麼 如果一個類實現了一個介面,那麼就要實現它的方法,也就是要實現它定義的那些功能。那麼抽象類中是可以存在實現 也就是可以存在非抽象方法的 的,抽象類中的實現在非抽象的子類中是可以直接呼叫的,然後抽象類...

c呼叫C 寫的DLL,DLL中的介面引數有二維陣列(如

這個問題 我可以非常明確地告訴你,c 無法直接呼叫這種引數的函式,c 中你描述的那種二維陣列,本質上跟一維陣列一致。倒是single跟float 是類似的,但是也不能直接傳遞。然後具體說說 float arr arr為指向float型的指標 single arr arr為single型陣列的引用,當...