这一节,我们讲到一个我们用的比较多的一个概念----继承.
继承是指一种代码重用的形式,允许程序员基于现有类开发新类。现有类通常称为"基类"或"超类",新类通常称为"子类"。
先看一段代码:
package
net.smilecn
...
{
import net.smilecn.MyClass;//类在使用之前要先导入
public class MySubClass extends MyClass...{
public function MySubClass()...{
trace("Pi:",PI);//正确
trace("r:",r);//正确
trace("s:",s);//错误
}
}
}
import net.smilecn.MyClass;//类在使用之前要先导入
public class MySubClass extends MyClass...{
public function MySubClass()...{
trace("Pi:",PI);//正确
trace("r:",r);//正确
trace("s:",s);//错误
}
}
}
我们发现这个类跟我们之前写的类的区别是多了"extends"这个一个关键字,这个关键字的作用就是说明,我们现在的这个类MySubClass是继承MyClass这个类的,继承之后我们就可以使用MyClass这个类里的变量和方法了,这样就达到代码重用的目的,比如说我们现在要写关于若干个球的类,有足球/篮球/排球等等,那么我们可以先找出这些的共性,先写一个球的类,然后再继承这个球的类写出若干个球的类,那么相同的东西就写在球的类中了,这个达到了代码重用;
可以看到,PI,r,s是在MyClass这个类中定义的变量,那么由于MySubClass继承了MyClass,所以MySubClass也能使用这些变量了,但代码前两个我写的正确,后一个写的错误码是什么意思了,回忆下上一节学到的"属性关键字",
public和protected,在子类中是可以使用的,private是不行的,所以这里PI和r是可以使用的,s不能用.并且子类在构造的时候也会执行基类的构造方法,
我们改一下FLA文件的代码:
import
net.smilecn.MySubClass;
var mySubClass:MySubClass = new MySubClass();
var mySubClass:MySubClass = new MySubClass();
在输出面板会输出:
这个我写的第一个类
Pi: 3.1415926
r: 3
注意:标有错误的那句代码要去掉,不然会报错.
下节继续讲解继承.
(本教程如需转载请注明出处!)