多态和接口学习笔记

1.多态,勉勉强强写的,这应该算个多态的例子把。子类都可以使用父类统一的数据类型。
package {
 import flash.display.Sprite;
 public class Test extends Sprite {
  public function Test() {
   var father:Father=new Father();
   var son1:Son1=new Son1();
   var son2:Son2=new Son2();
   dosomething(son1);
   dosomething(son2);
  }
  private function dosomething(obj:Father):void{
   obj.tracefunc();
  }
 }
}
class Father {
 public function Father() {
 }
 public function tracefunc():void {

 }
}
class Son1 extends Father {
 public function Son1() {
  super();
 }
 override public function tracefunc():void {
  trace("son1 is used");
 }
}
class Son2 extends Father {
 public function Son2() {
 }
 override public function tracefunc():void {
  trace("son2 is used");
 }
}

输出:
son1 is used
son2 is used

2.接口,
下面是我试着写接口出现的错误,呵呵,但最终还是解决了。
接口的函数不能包括过程体,接口的函数不能有访问控制。重写接口中函数
的时候不能用override修饰。不能使用新的运算符对接口进行实例化。
package {
 import flash.display.Sprite;
 public class Test extends Sprite {
  public function Test() {
   
   var son1:Son1=new Son1();
   var son2:Son2=new Son2();
   dosomething(son1);
   dosomething(son2);
  }
  private function dosomething(obj:IFather):void{
   obj.tracefunc();
  }
 }
}
interface IFather {
 
  function tracefunc():void ;

 
}
class Son1 implements IFather {
 public function Son1() {
  
 }
    public function tracefunc():void {
  trace("son1 is used");
 }
}
class Son2 implements IFather {
 public function Son2() {
 }
  public function tracefunc():void {
  trace("son2 is used");
 }
}

输出:
son1 is used
son2 is used
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值