- 浏览: 46095 次
- 性别:
- 来自: 深圳
最新评论
学习FLASH的时间也不短了,但总觉得还有很多的东西在等我去弄清楚。而且有很多东西也是搞得似懂非懂。在这里,把类、私有属性跟继承的理解讲一下。也希望大家能无私补充,以臻佳景。
1、首先,定义一个基本的类,定义类的方法用"Class"命令。
//创建一个基本的类时,应注意类的定义必须在外部的类脚本文件中(新建-AS文件),文件的扩展名为“as”;另外,一个重点就是要有“三个统一”:类名、类脚本文件名跟类中构造器名要一致。
方法:文件-新建-ActionScript文件,保存,文件名取为"中国人.as“。然后在里面加入如下代码:
[Copy]
[Run]
[Save]
//此处的名称,应与文件名一致。前面有讲过。
class 中国人 {
//设置了一个“皮肤颜色”属性,它的值为字符串类型,默认值为“黄色”
public var 皮肤颜色:String = "黄色";
//设置了一个“头发颜色”属性,它的值为字符串类型,默认值为“黑色”
public var 头发颜色:String = "黑色";
//设置了一个方法函数,函数名为“娶老婆”,返回类型为字符串型。
public function 娶老婆():String {
return ("抬花轿,喝啤酒,闹洞房");
}
}2、使用一个类,使用类之前,必须先将此类导入。一般用import ***;完成。
方法:新建一个FLASH文件,保存在刚才建立的相同目录。然后在里面加入如下代码:
[Copy]
[Run]
[Save]
//此句是个人习惯,可以不加,后同。。。
/*http://www.taoshaw.com 淘沙网*/
/*
备注:自Flash MX之后,Flash正式支持Unicode编码,所以我们可以直接以中文名作为变量名。
*/
//引入“中国人”类,注意:引入名必须和类名以及类文件名一致,也请注意,凡是导入类的时候,类的后面是没有()的。
import 中国人;
//建立一个“中国人”类的实例:刘某
var HBRO:中国人 = new 中国人();
//输出对象实例“刘某”的“发色”属性
trace("HBRO的头发颜色为:"+HBRO.头发颜色);
//输出对象实例“刘某”的“肤色”属性
trace("HBRO的皮肤颜色为:"+HBRO.皮肤颜色);
//输出对象实例“刘某”的方法“过新年”所返回的值,注意trace后面如果跟方法,则在方法的()后面不能加上";"号。
trace("HBRO娶老婆:"+HBRO.娶老婆());
/*http://www.taoshaw.com 淘沙网*/这样,一个简单类的创立与应用就成功了。
3、私有属性的使用。在此,我们与继承同步进行。现在我们新建一个"重庆人.as"类,然后里面加入如下代码:
[Copy]
[Run]
[Save]
class 重庆人 extends 中国人 {
public var 个性:String = "喜欢吃辣椒";
private var 特征:String;
public function 外表():String {
this.特征 = "英俊潇洒、风流倜傥、迷倒万千少女";
return (this.特征);
}
}注意第三行,用的是private。一般说来,用到私有属性的时候,一定有必要用一个公共函数对私有属性进行连接。注意,继承用的是exstends。
Class A extends B 表示的意思是,A继承于B,就好比某个大型企业老板寿终正寝后,他的家业就得由他的儿子来继承.在这里的意思,是A继承B的属性.比如这位老板姓黄,他的儿子也得跟着姓黄一个道理.
下面,我们先来看继承的应用。在第二步中建立的文件中替换为如下代码:
[Copy]
[Run]
[Save]
/*http://www.taoshaw.com 淘沙网*/
/*
备注:自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.taoshaw.com 淘沙网*/注意区分里面的不同之处。。。。。。
新添加的部分如下:
[Copy]
[Run]
[Save]
//定义一个名叫沙子的重庆人类
var 沙子:重庆人 = new 重庆人();
//输出沙子的个性
trace("沙子的个性:"+沙子.个性);
//为了测试重庆人类是否已经成功继承于父类“中国人”,测试一下沙子的肤色
trace("沙子的皮肤颜色:"+沙子.皮肤颜色);
trace("沙子的外表:"+沙子.外表());按CTRL+ENTER键,即可以看到效果.
以上源码下载地址:
http://www.taoshaw.com/taoshaw/study/classandexstends/classandexstends.rar
本文转自:http://www.5uflash.com/flashjiaocheng/Flashaschengxu/3040.html
发表评论
-
自制Flash FLV视频播放器
2010-04-10 09:59 1057大家好,前不久笔者将C ... -
自制Flash FLV视频播放器
2010-04-10 09:59 775大家好,前不久笔者将C ... -
探索Flash Media Server(一)
2010-04-10 09:59 558今天装了FMS,用NetConnection类试了试C与S的连 ... -
探索Flash Media Server(一)
2010-04-10 09:59 576今天装了FMS,用NetConnection类试了试C与S的连 ... -
探索Flash Media Server(二)
2010-04-10 09:58 528尝试使用了SharedObject类 使用Local Sha ... -
利用flash AS3的图形界面开发及资源管理攻略
2010-04-09 12:57 639摒弃了attachMovie之后的AS3,采用了类似DOM的 ... -
利用flash AS3的图形界面开发及资源管理攻略
2010-04-09 12:56 688摒弃了attachMovie之后的AS3,采用了类似DOM的 ... -
as3游戏开发之打气球系列(二)
2010-04-09 12:56 525HI,经过了昨天疯狂的理 ... -
我对as3声音架构的理解
2010-04-09 12:56 657一直都对as3的声音架构 ... -
as3.0游戏开发之打气球系列(一)
2010-04-09 12:56 510好久没有写正经的文章 ... -
as3中拖曳影片剪辑并进行层级处理的方法
2010-04-09 10:03 8851、在FLA中建四个球,分别实例"ball1&q ... -
as3中拖曳影片剪辑并进行层级处理的方法
2010-04-09 10:03 6771、在FLA中建四个球,分别实例"ball1&q ... -
AS3动态画曲线
2010-04-09 10:02 851[ 知识点 ] Graphics 对象可以绘制圆和正方形,但也 ... -
AS3动态画曲线
2010-04-09 10:02 1174[ 知识点 ] Graphics 对象可以绘制圆和正方形,但也 ... -
as3游戏开发之打气球系列(二)
2010-04-09 08:34 538HI,经过了昨天疯狂的理 ... -
《银河动画》鼠绘教程 (3)
2010-04-08 10:20 788一般的简单动画都会吧?别告诉我你连物体移动都不会!! ... -
漫画绘制技法大放送(上)
2010-04-08 10:20 557网络收集整理(jundark) [1b]一、人体基本结构[/1 ... -
flash动画形变讨论二:低头
2010-04-08 10:20 618上次说了基本的形变,现在说下提示点,提示点是控制图形变化的基本 ... -
卡通娃娃360度转身动画
2010-04-08 10:20 543超人表情原创大赛正如火如荼的进行中,对于初哥可能就望钱兴叹了, ... -
指针随鼠标移动的flash卡通时钟
2010-04-08 10:19 378。先看下时钟效果: var fnum:Number = ...
相关推荐
(1)定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程试试看。 (2)定义一个基类Base...
在声明一个派生类时将基类的继承方式指定为private的,称为私有继承,用私有继承方式建立的派生类称为私有派生类(private derived class ), 其基类称为私有基类(private base class )。 私有基类的公用成员和保护...
子类不能继承父类的私有属性和私有方法 IV object类 object是python中最基础类的名字,不建议被翻译理解。 所有类在定义的时候,默认继承object类 保留属性和保留方法本质上是object类的属性和方法 V 两个与内存
代码中,我们定义了一个名为Animal的动物类,该类具有私有的name属性和一个发出声音的方法makeSound()。然后,我们定义了一个名为Dog的狗类,通过继承自Animal类,获得了name属性和makeSound()方法,并新增了一个...
面象对向的三大特点:封装性、继承性、多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和行为提取出来,形成一个物理模型(模版),这种研究问题的方法称为抽象一、封装...
本篇主要分享我对闭包的理解及使用闭包完成私有属性、模拟类、继承等,结合大量例子,希望大家能快速掌握!首先让我们先从一些基本的术语开始吧
它支持以下内容: 公有成员变量、私有成员变量、属性 公有成员函数、私有成员函数 构造函数、析构函数 创建和使用一个最简单的 ASP 类 一些初学者不理解类和对象的区别,打个比方,类好比是图纸,对象好比是...
了类属性,那么其他对象对应的类属性也改变了.成员变量不用显式初始化,只要定义了一个类属性或实例属性,系统 默认进行初始化。 局部变量 •局部变量可分为三种: –形参 –方法局部变量 –代码块局部...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
我们把父类与子类的这种关系称为继承。 封装: 实体的有些东西是自身特有的,不需要共享。 例如:小明的爸爸有自己不想公开的东西,那么对于小明的爸爸而言, 这些东西应该设置为私有的 。这就体现出java 的...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
9.3.3 继承类成员的访问级别 9.4 派生类中的复制构造函数 9.5 友元类成员 9.5.1 友元类 9.5.2 对类友元关系的限制 9.6 虚函数 9.6.1 虚函数的概念 9.6.2 使用指向类对象的指针 9.6.3 使用引用处理虚函数 9.6.4 纯虚...
private 说明类为私有类。 (4) extends 子句用于说明类的直接超类。 (5) implements 子句用于说明类中将实现哪些接口,接口是 Java 的一种引用类 型。 (6) 类体包含了变量和方法。在类体中定义的数据、变量...
7.11.3 类属性 351 7.11.4 initonly字段 364 7.11.5 静态构造函数 366 7.12 小结 367 7.13 练习 367 第8章 深入理解类 369 8.1 类的析构函数 369 8.1.1 析构函数的概念 369 8.1.2 默认的析构函数 ...