本文實例講述了JavaScript面向對象中接口實現方法。分享給大家供大家參考,具體如下:
接口是面向對象編程的基礎,它是一組包含了函數型方法的數據結構,與類一樣,都是編程語言中比較抽象的概念。比如生活中的接口,機頂盒,人們利用它來實現收看不同頻道和信號的節目,它猶如對不同類型的信息進行集合和封裝的設備,最后把各種不同類型的信息轉換為電視能夠識別的信息。在編程語言中的接口,實際上是不同類的封裝并提供統一的外部聯系通道,這樣其他對象就可以利用接口來調用不同類的成員了。
——整理自《jQuery開發從入門到精通》
接口的概念
構造函數(類)是具體的實現,接口是類的約定。API接口(應用程序接口)、人機交互接口、電源接口、USB接口等雖然用途不同,功能各異,但是都包含一個共同的特性:約定、規范。可以說,接口就是一張契約和合同,它約定了設計者和使用者都必須遵循的要求。
接口承諾了具體類應該事先的功能。
舉一個很有必要的例子,在java中實現接口,比如下面的代碼:
interface Base{ void function1(); void function2(); void function3();}Base接口承諾了3個基本功能:function1()、function2()、function3()。這個接口就像是一份合同,在甲方(調用類的用戶)和乙方(定義類的開發人員)之間約定。
乙方負責實現接口約定的功能。功能的實現就是所謂的類。如下實例:
class App implements Base // 定義一個App類,用這個類來實現接口Base
類App將遵照接口的約定。專業來說就是,應用類App繼承Base接口類。
它的具體實現如下:
class App implements Base{ void function1(){ System.out.println("I am fun1"); } void function2(){ System.out.println("I am fun2"); } void function3(){ System.out.println("I am fun3"); }}這樣,乙方實現了這個接口,而甲方也應該來按照接口的約定去使用類App就行了。
所以說,接口(interface)和類(class),實際上都是相同的數據結構。
在接口中可以聲明屬性,方法,事件,類型,但不能聲明變量,且不能設置被聲明成員的具體值(功能實現)。
也就是說,接口只能定義成員,不能給定義的成員賦值。而接口作為它的繼承類或派生類的約定,繼承類或派生類共同完成接口屬性、方法、事件、類型的實現。在接口和實現類之間,不管是方法名還是屬性調用順序上都應保持一致。
接口的目的就是約束編碼,促使代碼規范,對于強類型語言是必須的,也是非常重要的環節。但是對于JavaScript弱類型語言來說,嚴格的類型檢查會束縛JavaScript的靈活性。很多前端開發人員根本不用接口,但不會影響腳本的設計。
新聞熱點
疑難解答
圖片精選