08 爲什麼要有接口?接口與繼承的區別?

爲什麼要有接口?

談到接口,得先談談繼承。繼承是指孩子繼承父母的功能。

但是有一天,孩子長大了,他們要獨立了,要去找朋友了。找朋友這個功能是父母所不具有的。

解決辦法一:孩子1去單獨寫一個找朋友的方法findFriend();但是這對父母有很多孩子,每個孩子都要去寫一個findFriend()麼,這樣不是顯的特別的囉嗦。

所以使用解決辦法二:將findFriend()放入接口裏,所有的孩子都可以去找朋友,接口就是另外的擴展功能,它區別於繼承的共性功能。

然而,每個孩子找朋友的要求不一樣,有的孩子要找漂亮點的,帥點的,有的孩子要找愛學習的,所以找朋友這個方法是非常抽象的方法。那麼接口裏的方法應都是抽象的,擴展功能只是爲了聲明孩子長大了要找朋友這件事,至於他們想找什麼樣的具體的朋友,這是他們重寫方法後自己決定的事。

找朋友這件事非常關鍵,所以找朋友這個接口就顯得非常關鍵了,這也是爲什麼有接口的主要原因。

 

繼承與接口的區別?

繼承是指的兩者共性的關係。比如去逛超市

而接口是指的擴展功能,比如孩子要去找(男/女)朋友

 

代碼表現一下:

 

package com.junc.test;

public class Test {
	public static void main(String[] args) {
		Boy1 boy = new Boy1();
		boy.findBeautiful();
	}
}

abstract class Dad {
	public abstract void shopping();
}

interface FindGirlfriend {	//找女朋友的接口
	public abstract void findBeautiful();	//找漂亮的女朋友
}

class Boy1 extends Dad implements FindGirlfriend {
	public void shopping() {
	}

	public void findBeautiful() {
		System.out.println("找漂亮的女朋友");
	}
}

class Boy2 extends Dad implements FindGirlfriend {
	public void shopping() {
	}

	public void findBeautiful() {
		System.out.println("找漂亮的女朋友");
	}
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章