-
来源:flashas.net
作者:吾系衰人
2007-04-21
【大 中小】
本来不想写类教程这些东西的,不过有网友跟我说希望我写个教程;就给大家简单说说吧~
as中类的声明跟函数一样都有个关键字 类声明的关键字是class
如 :class 例子{
}
要注意的是,我们写一个类时要将相应的as文件也命名为类的名称,不 然是不能识别的
下面看个我帮朋友写的一个在线视频的类的例子:
class vdo {
public var connection_nc:NetConnection;
public var stream_ns:NetStream;
public function vdo (flvname:String) {
connection_nc = new NetConnection ();
connection_nc.connect (null);
stream_ns = new NetStream (connection_nc);
_root.video.attachVideo (stream_ns);
_root.video.deblocking = 4;
_root.video.smoothing = true;
stream_ns.setBufferTime (10);
stream_ns.play (flvname);
setInterval(jindu, 100, stream_ns);
}
function jindu (stream_ns) {
_root.huanchong.text = "缓冲:" + stream_ns.bytesLoaded + "|" + stream_ns.bytesTotal + "播放:" + stream_ns.time;
}
}
一个类主要由两块组成,分别是类的属性跟类的方法;
类的属性要一开始就要声明象例子里的
public var connection_nc:NetConnection;
public var stream_ns:NetStream;
public关键字是表示公用属性的意思,不标识flash也会默认的,
同理也有
相对的私有属性,private 理解是是他只是相对私有,因为as2里面类没有绝对的
私有属性的,
至于什么是公有属性,就是我们写完每个类后new出的实例都有的属性;而私有属性则只有类本身可以调用
具体含义请查找相关资料看~~
属性部分说完了我们再来说说类的方法
一个类里面方法有两中,一种是类本身的方法函数
命名方法是用类名作为函数名,该方法的特点是我们每new一个类实例出来后都会初始化执行一边的;
象例子的
public function vdo (flvname:String) {
connection_nc = new NetConnection ();
connection_nc.connect (null);
stream_ns = new NetStream (connection_nc);
_root.video.attachVideo (stream_ns);
_root.video.deblocking = 4;
_root.video.smoothing = true;
stream_ns.setBufferTime (10);
stream_ns.play (flvname);
setInterval(jindu, 100, stream_ns);
}
就是类本身的方法了~
而另一类方法就是类里面可调用的方法;特点是我们定义方法后既可在写类是调用,也可以在new出一个类的实例后调用;
象例子里的
function jindu (stream_ns) {
_root.huanchong.text = "缓冲:" + stream_ns.bytesLoaded + "|" + stream_ns.bytesTotal + "播放:" + stream_ns.time;
}
就是类vdo的一个方法
还要补统下的就是类的继承 extends
如:当一个类a继承了另一个类b
我们就说类a是类b的子类,子类继承父类的方法跟属性,但父类却不 继承子类的方法跟属性,
这是个区别,
如class key_func extends MovieClip {}
这样key_func类就继承了元件类的方法跟属性,
还有就是动态类跟静态类;
静态类就是象上边的例子那样的类不需要什么关键字标明
而且没有动态类的特点
而动态类需要关键字标明 dynamic 标明动态类的类可以在调用实例后在实例动态的给类添加方法跟属性形式跟prototype差不多,当然你也可以用prototype类给实例添加方法跟属性,(虽然该方法已在as2.0中取消)还是比较好用的~~
还有象getPrototype,跟srtPrototype这些常用的方法就不一一细说了`~
如需要详细学习的请到网上查找想关教程^ ^
上一篇:
flash中的 隐藏类之一AsBroadcaster类 下一篇:
键盘连招的组合键函数