Flex 继承属于 “is-a”类型的重用,就是子类对其父类的继承。子类拥有父类所有属性,可以增加自己的属性或重写父类的属性。
1、先写出一个测试接口。
package model { public interface IOne { function get name():String; function set name(value:String):void; function getNum():int; } }
package model { public class One implements IOne { protected var _name:String; public function Thing(name:String = "") { this.name = name; } public function getNum():int { throw new Error("没有实现 getNum 方法"); } public function set name(value:String):void { _name = value; } public function get name():String { return _name; } } }
3、创建一个新类Two来继承One类,这样一来类Two也变成的集成实现了IOne接口。
package model { public class Two extends One { public var num:int; public var due:Date; public static const ONE_DAY_IN_MSEC:Number = 1000*60*60*24; public function Two(name:String = "") { super(name); due = new Date(); due.setTime(due.getTime() + ONE_DAY_IN_MSEC); } public override function getNum():int { return num; } } }
习惯于使用Java的同学会想到abstract class来替代上述方法,但是在ActionScript3中并没有抽象类的概念,此处可以理解为变相的“抽象类”。
原文:http://blog.csdn.net/princeterence/article/details/24247891