C 介面 介面作用

2021-05-27 06:16:51 字數 1413 閱讀 1778

可簡單的這樣理解介面:介面是方法的抽象,如果不同的類有同樣的方法,那麼就應該考慮使用介面。

例如,人和車都有「跑」的方法,那麼就可以定義乙個介面irun

//注意,定義介面時,裡面的方法不能有方法體

//應該在類裡再去實現

//而具介面的成員全是公有的,不應有修飾符

public inte***ce irun

//人實現跑

public class person:irun

//以下是人對「跑"的具體實現

public void run()

//車實現跑

public class car:irun

//以下是車對「跑"的具體實現

public void run() }

此外,乙個類還可以實現多個介面,比如:人可以出聲音、還可以跑,那麼可以讓人同時實現「跑」和「出聲音」這兩個介面。

我們定義乙個介面

public inte***ce ibark

再定義乙個類,繼承於ibark,並且必需實現其中的bark()方法

public class dog:ibark

public void bark()

}然後,宣告dog的乙個例項,並呼叫bark()方法

dog 旺財=new dog();

旺財.bark();

試想一下,若是想呼叫bark()方法,只需要在dog()中宣告這樣的乙個方法不就行了嗎,幹什麼還要用介面呢?因為介面中並沒有bark()具體實現,真的實現還是要在dog()中,那麼使用介面不是多此一舉嗎?

還有人是這樣說的:從介面的定義方面來說,介面其實就是類和類之間的一種協定,一種約束。還拿上面的例子來說,所有繼承了ibark介面的類中必需實現bark()方法,那麼從使用者(使用類的使用者)的角度來說,如果他知道了某個類是繼承於ibark介面,那麼他就可以放心大膽的呼叫bark()方法,而不用管bark()方法具體是如何實現的。

比如,我們另外寫了乙個類。

public class cat:ibark

public void bark()

}當使用者用到cat類或是dog類的時候,知道他們繼承於ibark,那麼不用管類裡的具體實現,而就可以直接呼叫bark()方法,因為這兩個類中肯定有關於bark()方法的具體實現。

如果我們從設計的角度來看,乙個專案中用若干個類需要去編寫。由於這些模擬較複雜,工作量比較大,這樣每個類就需要占用乙個工作人員進行編寫。比如a程式設計師去定dog類,b程式設計師去寫cat類,這兩個類本來沒什麼聯絡的,可是由於使用者需要他們都實現乙個關於"叫"的方法,這就要對他們進行一種約束,讓他們都繼承於ibark介面,目的是方便統一管理,另乙個是方便呼叫。當然了,不使用介面一樣可以達到目的,只不過這樣的話,這種約束就不那麼明顯,如果這樣類還有duck類等等,比較多的時候難免有人會漏掉這樣方法,所以說還是通過介面更可靠一些,約束力更強一些。

C 介面的作用

c 介面是乙個讓很多初學c 者容易迷糊的東西,用起來好像很簡單,定義介面,裡面包含方法,但沒有方法具體實現的 然後在繼承該介面的類裡面要實現介面的所有方法的 但沒有真正認識到介面的作用的時候就覺得用介面是多此一舉,當然你這樣想那是絕對絕對錯誤的,比爾蓋茨的微軟請的員工都是比蓋茨還聰明的人,他們的c ...

java 介面繼承介面作用

inte ce a extends inte ce b 介面a繼承介面b作用 1.介面a中不用重寫介面b中方法 2.介面a的實現類必須實現介面a中定義的方法以及介面b中定義的方法。在例項化此實現類過程中恰恰體現了多型的特性,例項化物件可呼叫介面a b中所有方法。public inte ce inte...

c 中介面的作用

好像看了很多書中都沒有介紹c 介面的作用。經我實踐,好像是有兩方面的作用 1 約束作用,這個這麼理解,凡是繼承了這個介面的類都必需實現這個介面的所有函式,哪怕是空著,那麼,既然都繼承了這個介面,那方就必定有介面的函式,那麼呼叫介面裡的函式就放心大膽,這就是一種約定,必需且有什麼功能。2 統一呼叫,也...