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

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

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

2024-04-27 13:51:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
1.18.1.問(wèn)題
我想創(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ù)和返回值保持一致。反過(guò)來(lái)使用此對(duì)象的組件希望這組方法已存在,這樣只需要?jiǎng)?chuàng)建一個(gè)輕量級(jí)的類申明而不需要?jiǎng)?chuàng)建一個(gè)新類來(lái)破壞你的繼承樹(shù)關(guān)系。

實(shí)現(xiàn)接口的類也被認(rèn)為是接口類型,這常被用來(lái)設(shè)置方法參數(shù)的類型或者方法的返回類型,例如:
+展開(kāi)
-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ì)象都必須定義這些方法:
+展開(kāi)
-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)來(lái)并提供函數(shù)體:
+展開(kāi)
-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,例如:
+展開(kāi)
-XML
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400height="300implements="IDataInterface">
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扎兰屯市| 乳山市| 昆明市| 措勤县| 会泽县| 乳源| 清苑县| 泾源县| 额尔古纳市| 治多县| 台山市| 湟源县| 游戏| 武城县| 克拉玛依市| 佳木斯市| 东安县| 凤翔县| 通州市| 南平市| 阿克苏市| 明星| 博白县| 临猗县| 伊吾县| 潞西市| 勃利县| 土默特右旗| 松桃| 额敏县| 徐水县| 工布江达县| 突泉县| 德惠市| 武安市| 天全县| 凉城县| 确山县| 兴业县| 确山县| 延津县|