我怎么知道何時創建界面?我正處于開發學習的某個階段,我覺得我必須更多地了解接口。我經常閱讀它們,但似乎我無法掌握它們。我已經閱讀過這樣的例子:動物基類,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 關注
- 552 瀏覽
添加回答
舉報
0/150
提交
取消
