从动态类~接口.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从动态类~接口

二十八、动态类 类在定义好以后类就封闭好了,类中的成员数量就固定了下来,不能再随意添加。而如果在定义类时使用了dynamic关键字作为类的访问属性,那么这个类便成为了动态类。动态类在程序运行过程中可以继续添加成员,即在程序运行过程中可以随时添加属性变量或者方法函数。 AS实作123 employee.as和fla文件放在同一目录下。 employee.as文件内容: package { public dynamic class employee{; public var name:String; private var pay:Number; public var sex:Boolean; public var age:uint; public var position:String; public function employee() { name=无名; pay=2000;//在构造函数中为员工赋基本工资 } public function outPutInfo():String { var str:String=; str+= name + ,; str+= sex?男:女;//关系表达式?表达式1:表达式2 str+= , + position + , + 薪金: + String(pay); return str; }}} AS实作123.fla文件内容: import employee; var emp1:employee=new employee(); emp1.name=张三; emp1.position=局长; trace(emp1.outPutInfo());//张三,女,局长,薪金:2000 //如果想在employee类的实例对象上添加属性,可以像一般Object对象上添加属性即可。 emp1.married=未婚; //在实例对象emp1里定义一个方法函数allInfo(),输出emp1中原来的全部内容和新添加的married属性。 emp1.allInfo=function():String{ return this.outPutInfo()+,+this.married;} trace(emp1.allInfo()); 动态类小结: 动态类只是在程序运行过程中可以在实例对象中任意添加属性,并不能在类定义中添加属性。类定义在文件中,在程序运行过程中没有更改类定义文件,当然无法更改类定义中的属性数量。而所谓的动态类只能在类的实例对象(用构造函数创建的实例对象)中添加属性,就好像过去我们学习过的Object类一样,我们只能在实例对象中任意添加实例对象的属性。而数组Array实例对象也反映出动态类的特征。 二十九、类的继承 1、继承 用extends来定义某两个类的继承关系 class 子类名 extends 父类名 { 类体 } 子类中要继续父类中所有的属性变量和方法函数,除了用private定义的变量和函数除外。 AS实作124.fla文件内容: 定义A类: package { //A.as文件要与fla文件放在同一目录下 public class A { public var myA :String; public var intA:int; public function add(a:int,b:int):int{ return a+b; } } } 定义B类: package { //B.as文件要与fla文件放在同一目录下 public class B extends A { public var myB:String; public function B(){ myA=属性myA是从类A中继承来的属性“ //注意,在B类中没有定义myA变量 myB=属性myB是从类B中继承来的属性 } } } fla文件中的代码: import A; import B; var b1:B=new B() trace(b1.myA); //myA属性是父类A中的属性 trace(b1.myB); b1.intA=b1.add(2,3); //intA是父类A中的属性 //add()函数是父类A中的函数 trace(父类中的intA变量在B类中继承后打印:,b1.intA); 2、派生函数 如果要在子类中定义父类中同名的函数,而需要在子类里在函数名前使用关键字override,它的一般格式为: override function 同名函数(参数表){ 函数体 } 这样使用子类构造函数创建实例后,用实例对象调用的同名方法函数是子类的函数。如果不用override定义同名的子类的函数,在调用时会报错。 AS实作125.fla文件内容: 例:C类是D类的父类。 定义

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档