我怎么知道何時創建界面?我正處于開發學習的某個階段,我覺得我必須更多地了解接口。我經常閱讀它們,但似乎我無法掌握它們。我已經閱讀過這樣的例子:動物基類,IAnimal界面,如'Walk','Run','GetLegs'等等 - 但我從來沒有做過某些事情,感覺就像“嘿我應該使用界面這里!”我錯過了什么?為什么我要掌握這么難的概念!我只是因為我可能沒有意識到對一個人的具體需求而感到恐懼 - 主要是因為他們理解它們時缺少一些方面!這讓我覺得自己在成為開發者方面缺少一些東西!如果有人有過這樣的經歷并取得了突破,我會很感激如何理解這個概念。謝謝。
3 回答

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
假設您想要模擬在您嘗試入睡時可能發生的煩惱。
接口前的模型
class Mosquito { void flyAroundYourHead(){}}class Neighbour{ void startScreaming(){}}class LampJustOutsideYourWindow(){ void shineJustThroughYourWindow() {}}
正如你清楚地看到,當你試圖睡覺時,很多“事情”會令人討厭。
沒有接口的類的用法
但是當談到使用這些類時,我們遇到了問題。他們沒有任何共同之處。您必須單獨調用每個方法。
class TestAnnoyingThings{ void testAnnoyingThinks(Mosquito mosquito, Neighbour neighbour, LampJustOutsideYourWindow lamp){ if(mosquito != null){ mosquito.flyAroundYourHead(); } if(neighbour!= null){ neighbour.startScreaming(); } if(lamp!= null){ lamp.shineJustThroughYourWindow(); } }}
帶接口的模型
為了克服這個問題,我們可以引入一個接口
interface Annoying{ public void annoy();}
并在類中實現它
class Mosquito implements Annoying { void flyAroundYourHead(){} void annoy(){ flyAroundYourHead(); }}class Neighbour implements Annoying{ void startScreaming(){} void annoy(){ startScreaming(); }}class LampJustOutsideYourWindow implements Annoying{ void shineJustThroughYourWindow() {} void annoy(){ shineJustThroughYourWindow(); }}
用于接口
這將使這些類的使用更容易
class TestAnnoyingThings{ void testAnnoyingThinks(Annoying annoying){ annoying.annoy(); }}
- 3 回答
- 0 關注
- 534 瀏覽
添加回答
舉報
0/150
提交
取消