Flex4 继承简单实现

Flex 继承属于 “is-a”类型的重用,就是子类对其父类的继承。子类拥有父类所有属性,可以增加自己的属性或重写父类的属性。

1、先写出一个测试接口。

package model {
  public interface IOne {
    function get name():String;
    function set name(value:String):void;
    function getNum():int;
  }
}

2、为接口写一个实现类。

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;
    }
  }
}

One 类实现了 IOne接口;name属性使用了protected修饰、保证了子类有足够的访问权限;如果过没有实现getNum会抛出异常;

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;
		}
	}
}

类Two中使用override来重写One中的getNum方法;Two 继承 extends 自 One。


习惯于使用Java的同学会想到abstract class来替代上述方法,但是在ActionScript3中并没有抽象类的概念,此处可以理解为变相的“抽象类”。

你可能感兴趣的:(Flex4 继承简单实现)