C 的介面有什麼用?

2021-06-22 18:30:37 字數 976 閱讀 3483

介面對於初學者來說是乙個太抽象的東西。看了教材之後基本都是乙個感覺:介面到底是用來幹嘛的?書上講宣告介面,實現介面,並不難,難的是什麼時候用介面呢?網上有幾個非常通俗的講解,很受益。再用自己的思路梳理一下,應該不算抄襲吧。

案例:貓狗叫

宣告介面:

inte***ce 介面-叫  

實現介面:

class 狗:介面-叫

}class 貓:介面-叫

} 那麼,使用的時候,就是  

class 動物行為

} 這時候肯定有人會想,為什麼要這麼複雜,直接定義乙個類不就可以了?

像這樣:

class 動物叫

貓()

}

class 動物行為

} 確實沒有問題!

那為什麼還要用看起來很複雜的介面?答案就在下面。

現在要新加乙隻鴨子的叫,對比上下兩種方式的差異。

對於使用了介面的方式,只需增加如下操作:

class 鴨:介面-叫

} 在「動物行為」的類裡直接呼叫 

鴨.方法-叫(); 即可。對其他的類不進行任何改動。

對於不使用介面的方式,先在「動物叫」的類裡增加鴨叫的方法,然後再呼叫。

那麼「動物叫」這個類是需要被隨時修改的,這是一種不安全的做法。

當然,有人會說,不應該這樣定義「動物叫」這個類,而是每個動物都定義成乙個類,這樣就可以單獨增加鴨這個類了。我想說的是,這不就是使用介面的那個結構嗎?這樣做除了沒有介面的宣告,其他結構都一樣了。

現在對動物行為的研究不僅限於叫,還有吃、喝、拉、撒等等,那麼每個類裡面都應該包含這些方法,這時候介面就體現了它存在的意義,乙個極其重要的作用,就是規範每個類的方法。

只要是繼承了介面的類,都包含了介面裡面的方法。

那麼,我再新加乙個雞的類,它需要哪些方法,都寫在介面宣告裡面了,我只要逐一實現就好。

於是,我們說,介面是一種類與類之間的規範,一種協議!

HDMI是什麼?HDMI介面有什麼用?

原文 hdmi 一詞很多朋友可能都不會陌生,因為在液晶電視 筆記本 台上電腦介面中經常會看到hdmi字樣標註。那麼hdmi是什麼?到底是什麼介面,有什麼用呢?下面來與大家詳細介紹下。hdmi是什麼?當然目前的高畫質介面也並不僅僅只有hdmi,比如還有dp高畫質介面等,感興趣的朋友,也可以去了解下。h...

php函式介面什麼意思 php介面有什麼用

php介面加密 介面是什麼?使用介面 inte ce 可以指定某個類必須實現哪些方法,但不需要定義這些方法的具體內容。介面是通過 inte ce 關鍵字來定義的,就像定義乙個標準的類一樣,但其中定義所有的方法都是空的。介面中定義的所有方法都必須是公有,這是介面的特性。什麼時候用介面?1 定規範,保持...

介面到底有什麼用

我們定義乙個介面 public inte ce ibark 再定義乙個類,繼承於ibark,並且必需實現其中的bark 方法 public class dog ibark public void bark 然後,宣告dog的乙個例項,並呼叫bark 方法 dog 旺財 new dog 旺財.bark...