国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

1.18.接口的定義和實(shí)現(xiàn)

2024-04-27 13:51:43
字體:
供稿:網(wǎng)友
1.18.1.問題
我想創(chuàng)建一個(gè)接口,并創(chuàng)建一個(gè)組件實(shí)現(xiàn)這個(gè)接口。
1.18.2.解決辦法
創(chuàng)建一個(gè)ActionScript文件,申明此文件為一個(gè)接口,定義此接口需要的任意方法。要實(shí)現(xiàn)此接口,在定義類時(shí)使用implements關(guān)鍵字。
1.18.3.討論
接口是一個(gè)很強(qiáng)大的工具,它描述一個(gè)契約,所有實(shí)現(xiàn)它的類都必須完全按照接口所定義的方法包括作用域,名稱,參數(shù)和返回值保持一致。反過來使用此對(duì)象的組件希望這組方法已存在,這樣只需要?jiǎng)?chuàng)建一個(gè)輕量級(jí)的類申明而不需要?jiǎng)?chuàng)建一個(gè)新類來破壞你的繼承樹關(guān)系。

實(shí)現(xiàn)接口的類也被認(rèn)為是接口類型,這常被用來設(shè)置方法參數(shù)的類型或者方法的返回類型,例如:
+展開
-ActionScript
public function pay(payment:IPaymentType):IReceipt

這個(gè)方法接受實(shí)現(xiàn)IPaymentType接口的任何對(duì)象,以及返回實(shí)現(xiàn)IReceipt接口的對(duì)象。

接口中不能定義方法體以及任何變量,在下面的代碼片段中,IDataInterface 申明和定義了5個(gè)方法,任何實(shí)現(xiàn)此接口的對(duì)象都必須定義這些方法:
+展開
-ActionScript
package oreilly.cookbook {
public interface IDataInterface {
function set dataType(value:Object):void ;
function get dataType():Object;
function update():Boolean; 
function write():Boolean;
function readData():Object;
}
}

要實(shí)現(xiàn)這個(gè)接口,申明類并添加implements標(biāo)記到類申明中,所有接口中定義的方法都必須被實(shí)現(xiàn)。在下面的代碼中,所有接口方法被包含進(jìn)來并提供函數(shù)體:
+展開
-ActionScript
package oreilly.cookbook {
import flash.events.EventDispatcher;
import flash.events.IEventDispatcher;
public class ClientData extends EventDispatcher implements IDataInterface {
private var _dataType:Object;
public function ClientData(target:IEventDispatcher=null){
super (target);
}
public function set dataType(value:Object):void {
_dataType = value;
}
public function get dataType():Object {
return _dataType;
}
public function update():Boolean {
//do the actual updating
var updateSuccessful:Boolean; 
if (updateSuccessful) { return true ; }
else { return false ; }
}
public function write():Boolean {
var writeSuccess:Boolean;
if (writeSuccess) { return true ; }
else { return false ; }
}
public function readData():Object {
var data:Object;
//get all the data we need
return data;
}
}
}

如果在MXML中實(shí)現(xiàn)一個(gè)接口,在頂層的組件中使用implements,例如:
+展開
-XML
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400height="300implements="IDataInterface">
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 攀枝花市| 建始县| 咸宁市| 兰西县| 沂源县| 尼勒克县| 高青县| 大连市| 福州市| 噶尔县| 西贡区| 桦甸市| 潞西市| 连南| 武定县| 阳谷县| 平江县| 瓦房店市| 房产| 清流县| 巴中市| 广德县| 古浪县| 莱西市| 青浦区| 大名县| 灌云县| 扶沟县| 石家庄市| 金堂县| 南木林县| 南江县| 来安县| 丰镇市| 错那县| 芦溪县| 房山区| 牡丹江市| 南川市| 五河县| 宣恩县|