关于类、私有属性与继承的理解

1、首先,定义一个基本的类,定义类的方法用"Class"命令。
//创建一个基本的类时,应注意类的定义必须在外部的类脚本文件中(新建-AS文件),文件的扩展名为“as”;另外,一个重点就是要有“三个统一”:类名、类脚本文件名跟类中构造器名要一致。
方法:文件-新建-ActionScript文件,保存,文件名取为"中国人.as“。然后在里面加入如下代码:

代码如下:

//此处的名称,应与文件名一致。前面有讲过。 
class 中国人 { 
  //设置了一个“皮肤颜色”属性,它的值为字符串类型,默认值为“黄色” 
  public var 皮肤颜色:String = "黄色"; 
  //设置了一个“头发颜色”属性,它的值为字符串类型,默认值为“黑色” 
  public var 头发颜色:String = "黑色"; 
  //设置了一个方法函数,函数名为“娶老婆”,返回类型为字符串型。 
  public function 娶老婆():String { 
    return ("抬花轿,喝啤酒,闹洞房"); 
  } 
}

2、使用一个类,使用类之前,必须先将此类导入。一般用import ***;完成。
方法:新建一个FLASH文件,保存在刚才建立的相同目录。然后在里面加入如下代码:


代码如下:

//此句是个人习惯,可以不加,后同。。。 
/*http://www.jb51.net 我们*/

/* 
备注:自Flash MX之后,Flash正式支持Unicode编码,所以我们可以直接以中文名作为变量名。 
*/ 
//引入“中国人”类,注意:引入名必须和类名以及类文件名一致,也请注意,凡是导入类的时候,类的后面是没有()的。 
import 中国人; 
//建立一个“中国人”类的实例:刘某 
var HBRO:中国人 = new 中国人(); 
//输出对象实例“刘某”的“发色”属性 
trace("HBRO的头发颜色为:"+HBRO.头发颜色); 
//输出对象实例“刘某”的“肤色”属性 
trace("HBRO的皮肤颜色为:"+HBRO.皮肤颜色); 
//输出对象实例“刘某”的方法“过新年”所返回的值,注意trace后面如果跟方法,则在方法的()后面不能加上";"号。 
trace("HBRO娶老婆:"+HBRO.娶老婆());

/*http://www.jb51.net 我们*/
这样,一个简单类的创立与应用就成功了。
3、私有属性的使用。在此,我们与继承同步进行。现在我们新建一个"重庆人.as"类,然后里面加入如下代码:


代码如下:

class 重庆人 extends 中国人 { 
  public var 个性:String = "喜欢吃辣椒"; 
  private var 特征:String; 
  public function 外表():String { 
    this.特征 = "英俊潇洒、风流倜傥、迷倒万千少女"; 
    return (this.特征); 
  } 
}

注意第三行,用的是private。一般说来,用到私有属性的时候,一定有必要用一个公共函数对私有属性进行连接。注意,继承用的是exstends。
Class A extends B 表示的意思是,A继承于B,就好比某个大型企业老板寿终正寝后,他的家业就得由他的儿子来继承.在这里的意思,是A继承B的属性.比如这位老板姓黄,他的儿子也得跟着姓黄一个道理.
下面,我们先来看继承的应用。在第二步中建立的文件中替换为如下代码:


代码如下:

/*http://www.jb51.net 我们*/ 
/* 
备注:自Flash MX之后,Flash正式支持Unicode编码,所以我们可以直接以中文名作为变量名。 
*/ 
//引入“中国人”类,注意:引入名必须和类名以及类文件名一致,也请注意,凡是导入类的时候,类的后面是没有()的。 
import 中国人; 
//建立一个“中国人”类的实例:刘某 
var HBRO:中国人 = new 中国人(); 
//输出对象实例“刘某”的“发色”属性 
trace("HBRO的头发颜色为:"+HBRO.头发颜色); 
//输出对象实例“刘某”的“肤色”属性 
trace("HBRO的皮肤颜色为:"+HBRO.皮肤颜色); 
//输出对象实例“刘某”的方法“过新年”所返回的值,注意trace后面如果跟方法,则在方法的()后面不能加上";"号。 
trace("HBRO娶老婆:"+HBRO.娶老婆()); 
//定义一个名叫沙子的重庆人类 
var 沙子:重庆人 = new 重庆人(); 
//输出沙子的个性 
trace("沙子的个性:"+沙子.个性); 
//为了测试重庆人类是否已经成功继承于父类“中国人”,测试一下沙子的肤色 
trace("沙子的皮肤颜色:"+沙子.皮肤颜色); 
trace("沙子的外表:"+沙子.外表()); 
/*http://www.jb51.net 我们*/

注意区分里面的不同之处。。。。。。
新添加的部分如下:


代码如下:

//定义一个名叫沙子的重庆人类 
var 沙子:重庆人 = new 重庆人(); 
//输出沙子的个性 
trace("沙子的个性:"+沙子.个性); 
//为了测试重庆人类是否已经成功继承于父类“中国人”,测试一下沙子的肤色 
trace("沙子的皮肤颜色:"+沙子.皮肤颜色); 
trace("沙子的外表:"+沙子.外表());

按CTRL+ENTER键,即可以看到效果.

以上源码下载地址:
http://img.jb51.net/downtools/classandexstends.rar

(0)

相关推荐

  • 关于类、私有属性与继承的理解

    1.首先,定义一个基本的类,定义类的方法用"Class"命令. //创建一个基本的类时,应注意类的定义必须在外部的类脚本文件中(新建-AS文件),文件的扩展名为"as":另外,一个重点就是要有"三个统一":类名.类脚本文件名跟类中构造器名要一致. 方法:文件-新建-ActionScript文件,保存,文件名取为"中国人.as".然后在里面加入如下代码: 复制代码 代码如下: //此处的名称,应与文件名一致.前面有讲过.  cl

  • PHP获取类私有属性的3种方法

    今天在推上看到一条获取PHP类私有属性的推文,感觉很有意思: 顺着推文联想,还有其他方式吗?经过自己的测试及网上答案,总结出三种方法: 1. 反射 反射可以获取类的详细信息,要获取私有属性的值,只需将对应属性的ReflectionProperty实例设置为可访问再取值即可.示例代码如下: namespace tlanyan; class Foo { private $bar = "Foo bar!"; } // 获取反射类及反射属性 $class = new \ReflectionCl

  • python类的私有属性和公共属性说明

    目录 python类私有属性和公共属性 python私有属性的定义 python类私有属性和公共属性 对于python而言,类的属性的可见度只有两种,public和private. 类的私有属性便是在前面加上“__”标识符,而公共属性则不必. 在类的外面访问私有属性会引发异常. class Base:     def __init__(self, value):         self.__value = value   b = Base(5) print(assert b.__value)

  • JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法

    1.Object类 在JS中,Object是所有类的基类,使用Object类来创建自定义对象时,可以无需定义构造函数(constructor,prototype,hasOwnProperty(property)) var per = new Object(); per.name = 'zhangsan'; per.age = ; alert(per.name + per.age); 我们想在程序中得到一个对象变量,只要能存储大量数据即可,这个时候,我们可以考虑使用Object类.Object类避

  • 基于python3 类的属性、方法、封装、继承实例讲解

    Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法. 对象可以包含任意数量和类型的数据. python类与c++类相似,提供了类的封装,继承.多继承,构造函数.析构函数. 在python3中,所有类最顶层父类都是object类,与java类似,如果定义类的时候没有写出父类,则object类就是其直接父类. 类定义 类定义语法格式如下: class ClassName: <statement

  • Python类super()及私有属性原理解析

    super()有参数写法: # 1.定义父类 class A(object): def __init__(self): self.num = 1 def info_print(self): print(self.num) class C(A): def __init__(self): self.num = 2 def info_print(self): print(self.num) super(C, self).__init__() super(C, self).info_print() #

  • 如何在JavaScript中实现私有属性的写类方式(二)

    上一篇写了个工具函数$class,这篇再完善以下.实现以下功能 1,继承 2,子类继承父类时,不继承父类的私有属性 复制代码 代码如下: /**  * @param {String} className  * @param {String/Function} superCls  * @param {Function} classImp  */function $class(className, superCls, classImp){     if(superCls === '') superC

  • 如何在JavaScript中实现私有属性的写类方式(一)

    之前讨论过JavaScript中的写类方式.但没有讨论私有的实现.这篇看下. 我们知道JS中私有属性的实现本质就是 var + closure.如下 复制代码 代码如下: function Person(n, a){     // public     this.name = n;     // private     var age = a;     this.getName = function(){         return this.name;     }     this.getA

  • Python可变和不可变、类的私有属性实例分析

    本文实例讲述了Python可变和不可变.类的私有属性.分享给大家供大家参考,具体如下: 可变和不可变 items = [] print(id(list)) items.append(2) # items值改变了 print(id(list)) # 但内存地址没有变 id()函数获取内存地址. a = "jack" print(id(a)) b = "jack" print(id(b)) # b内存地址和上面a一样 a = "zhangSan" p

  • Python 类的私有属性和私有方法实例分析

    本文实例讲述了Python 类的私有属性和私有方法.分享给大家供大家参考,具体如下: xx:公有变量 _xx:公有变量或方法,不能通过import导入其他模块(只有模块内部使用).类对象和子类可以访问 __xx:私有变量或方法(伪私有),类外部不能直接访问. __xx__:公有变量或方法,子类可以访问.魔法方法或属性(例如:__init__),不推荐这样命名. xx_:公有变量或方法.一般为了避免和python关键字冲突,不推荐这样命名. 在 定义属性或方法时,在 属性名或者方法名前 增加 两个

随机推荐