介面(Interface)
介面(Interface)在物件導向中可以說是非常重要的一個觀念,介面的意思是不同類別但是擁有相同的方法,稱作介面。
這就好像不同的電腦周邊,像是隨身碟,行動硬碟,滑鼠等,他們都有共同的規格USB,因為有這個共同的規格,所以不同廠牌的這些產品都可以通用,因為大家擁有相同的介面叫做USB。
其實介面和抽象相當類似,表示大家都必須做的事情,在抽象中我舉的例子是公司員工,如果我定義一個介面為員工,和抽象一樣每個員工當然都要工作,也必定都會領薪水,所以工作和薪水就是員工這個介面裡面的方法,而每個員工的工作內容當然都不會相同,薪水也會每個人不一樣。要注意在介面中的方法已經是定義為公開並且抽象了,介面中的方法一定是大家都可以使用並且都要做的事,而在抽象類別中的方法則是不一定要是抽象並且公開的,抽象類別中可以有抽象方法和一般方法。
另外還有一個特點是介面和抽象很大的不同,那就是一個類別只可以去繼承一個抽象類別,但是可以繼承好幾個介面,就好比抽象是你的爸爸只能有一個,可是介面是乾爹,一個人可以有好幾個乾爹。
其他抽象所擁有的特性,介面也相同,抽象不能實例化,介面一樣不能實例化,因為跟抽象一樣是要被子類別繼承的,所以實例化沒意義。
這一篇一樣僅僅說明介面的觀念,沒有搭配程式大家可能會不好理解,之後我會再寫一篇介面的程式教學,要理解介面這個觀念大家可以先看一下前一篇介紹抽象(Abstract)的文章,因為介面和抽象很類似,所以建議大家先看完抽象以後再來看介面。
相關文章
全站熱搜
留言列表