請問在C中,介面這種東西存在的意義是什麼呢

2022-03-08 04:56:58 字數 3422 閱讀 8651

1樓:三摩聖地

"介面的存在也是因為有*協作*的需要"-----這個說到重點了。

2樓:匿名使用者

介面對你寫的這個沒有意義,並不代表在c#中介面就沒有意義了

3樓:匿名使用者

介面是一種行為規範 定義一類行為方法 只要實現了這個介面的類都可以對介面定義的物件進行熱插拔 從設計模式來說 這個就很靈活了

再有就是c#是單繼承 但是可以繼承多個介面 如同找工作一樣 乙個人繼承了會計介面 那麼他就可以去做會計 繼承了程式設計師介面就可以去做程式設計師 都繼承了 就都可以做 但是 要是把這個工作行為定義為類 那麼就只能做乙個工作

還有就是你多看看設計模式 就明白更多了

c#中的介面是什麼?具體的含義,介面有什麼作用

4樓:匿名使用者

乙個介面可從乙個或多個基介面繼承。   當基型別列表包含基類和介面時,基類必須是列表中的第一項。   實現介面的類可以顯式實現該介面的成員。

顯式實現的成員不能通過類例項訪問,而只能通過介面例項訪問。  介面只包含只有方法,屬性,索引器(有參屬性),事件四種成員。

5樓:善紫雲

介面就是規定咯!介面就是領導..介面中有的方法.

你繼承之後,你寫的類就要全部去實現!領導下達的命令.你必須要全部完成~但是介面裡不能直接實現**..

只需要寫方法名就可以了.領導不需要去幹活`只跟你說你需要幹啥.!乙個道理的..

c#中介面有什麼作用?

6樓:

講講我自己的體會吧:

c#裡的介面有何不可替代的作用?僅僅抽象了某乙個類的共同特點?

我試了例子,將class a :icloneable的 :icloneable去掉,照樣是可以實現的。那到底有什麼用呢?我總結介面使用有兩個原因:

1:自己設計的原因,有了規範,別人用你的介面就能更容易了解你的系統是怎麼合作的

2:別人如果設計了介面,比如array.sort(array,icompare);別人的引數既然是介面,你要用這個函式,你的類必然也要實現這個介面。

記住:介面是和類向對應的,不是方法,介面的具體化便是類。但是介面規定了類要實現的方法。

比如:public class valuecompare : icomparer}

7樓:匿名使用者

介面用於封裝,最簡單。

8樓:

c#中定義介面有什麼作用

9樓:匿名使用者

網上找到的答案,希望對你有幫助

1.介面最基本的作用就是作為乙個客觀的規範 是一類事物所具有的屬性的總結 相當於父類

舉例說明下 人 有身高這個屬性 有吃飯這個方法 有痛了就喊"媽呀"這個事件

ok 這樣就可以把這些屬性,方法,事件總結起來定義乙個介面 叫"人類"

(這裡的loghandler onlog就是乙個事件 下面會具體講到)

2.介面還有乙個最基本的作用(也是父類所沒有的)——多型

估名思義 人具有多種"態" 比如某個人卻實具有了人類的所有屬性 但是很特別 這個人還具備一般人不具有但卻是動物獨有的一種行為——"吃人"(這裡且不把人看做動物) 那麼這個人也實現了另乙個介面 叫"動物類"

具體實在**:

public class ribenren : ipeople, ianimal

public string eatpeople(ipeople people)

}3.以上兩種作用只是形式上的 它還有另乙個作用就是"子類的例項呼叫父類的引用" (貌似是這麼說的)

舉例說明

我不知道某人叫什麼 我只知道他屬於人類 那麼我一定知道他有吃飯的行為 我就可以扔給他乙個骨頭

具體**

ipeople chenlaoshi = new chenguanxi();

chenlaoshi .eat("骨頭");

4.至於那個事件

loghandler是乙個委託 為什麼叫委託 就是把某件事委託給系統 當什麼什麼情況就讓它觸發什麼什麼事件

具體**

/*這個是我*/

public class chaoren :ipeople

}/*被砍那個人的類*/

public class chenguanxi : ipeople, ianimal

private void beikan()}

10樓:

介面最簡單的作用就是:不同的類完成相同的行為!

但不同的類的同一行為要延遲到子類實現!

比如,在系統分析時我們只使用了兩個類,乙個是dog,乙個是cat,他們都可以實現乙個shot的行為,如果兩者均有的情況下,原來是可以將shot行為提公升到dog與cat的父類中,也就是動物類中實現,由於系統中並沒有對兩個類進行提公升,也就是說,這當前系統中不存在dog與cat的父類,那麼,我們可以實現乙個介面去解決這兩個不同的類的同一行為,就是定義ishot介面,讓兩個不同的類進行繼承!這樣兩個類可以實現同一行為了!

當然這裡的類,cat與dog你還可以再提公升乙個抽象的動物類,如果不能提公升時則就不行了!比如魚類都不會shot,但鯨卻可以shot,而鯨具有所有魚類的特徵,這時就不能為鯨的shot進行提公升,讓所有錢類都會shot並不是乙個好主意,所以dog、cat與鯨可以共同繼承乙個ishot,但不能讓將shot行為提公升到dog、cat與鯨的父物件中!

所以對於介面,就簡單的一句話來說:介面可以讓不同的類實行相同的行為,並將這個行為延遲到子類實現!

至於延遲到子類實現的意思就是,鯨,cat,dog的shot行為並不一樣,各自實現不同的功能,並必須要有這個行為才可以的!

如讓鯨繼承ishot介面後,在編寫鯨這一型別時必須要實現ishot中的所有方法,如shot,如果不進行實現,則編譯就不能通過,也就是說,鯨繼承了ishot,在ishot中的shot方法必須在鯨的為中編寫實現,這就是延遲到子類實現的意思!

11樓:匿名使用者

樓上的回答應該能滿足樓主了。我再打個比方:如果把介面比作乙個合同(規定了你能做什麼,但沒有規定你怎麼做),實現了這個介面的類就相當於是履行合同的人,這個人必須按照合同的規定去做事情,但是不同的人在做某件事的時候會可以通過不同的手段。

希望對你有幫助

12樓:

當你知道介面有些什麼東西,你就知道實現了這些介面的類肯定具有什麼功能。

例如:當你學會了操作某一種***機後,你再接觸到另外一款***機,你肯定會知道絕對存在乙個按鍵可以彈出東西來放光碟。你也肯定知道這個如果是插電源的肯定有個接頭。

當然具體實現在不同的***機器有差別,有點一下就彈出來,有些彈的慢一些。

在深圳這樣的城市,我們存在的意義到底是什麼

做什麼才有意義,人活著最終都是要死的,難道要坐著等死嗎?不說為了誰誰誰 只為自己,做自己想做的 積極向上 這就是意義 數碼攝會 說說我身邊bai的人的du真實案例。1 賺取差價。某zhi天我再地鐵上,dao聽到旁邊兩個人專在聊天。對了,那 屬天是週六,他們應該是剛下班。a看到b的手機上,問了句 買車...

證據的意義,證據在訴訟中的意義是什麼

證據的意義重大,具體表現 打官司就是打證據 可見證據的重要性不可言語。沒有證據在怎麼 能言善辯 的律師 訴訟 人 也是無可奈何的。證據是證明事實存在的依據,在某種程度上也可以說證據是支援訴訟請求的基礎。沒有證據支援的訴訟請求,法官是不會支援的。刑事案件是如此,民事案件也不例外。在民事案件中,所謂 有...

boost 在c 中是什麼用,C 的boost庫和標準庫有什麼區別?

這是c 的準標準庫 也是目前比較活躍的c 庫.即提供了豐富的c 擴充套件,也對c 的發展提供了源源不斷的創意 c 的boost庫和標準庫有什麼區別?boost庫是為c 語言標準 復庫提製供擴充套件的一些c 程式庫的總稱。boost庫由boost社群組織開發 維護。其目的是為c 程式設計師提供免費 同...