as2.0对private的支持

来源:互联网 发布:mac解压软件 知乎 编辑:程序博客网 时间:2024/06/11 22:58
as2.0的出现使很多人对它的面向对象编程都津津乐道,更多的人也开始用他来进行开发,然而很多人也发现了一些问题,比如,对于方法重载的支持没有,对于private的限制没有,等等,很多人更多的讨论是对于private的限制没有而耿耿于怀.其实private在as2.0中一样可以实现访问的控制.

以前我也听到很多人说private的限制在as2.0中根本起步到作用,以前我也试验过,这样写的代码
Test 类的构造函数定义成private的
private function Test()
{
trace("this is Test");
}
在一个flash里面调用,按说private的构造函数是不能用new进行变量初始化的,可是这样
var a = new Test();
却毫无问题,依然可以使用,大家会说了,对阿,as2.0对private不支持.但是今天我仔细看这样的变量声明似乎有些问题,原来其实是我们错了,在我们定义变量的时候没有声明a的类型!对于面向对象的语言来说声明一个对象的同时必须要声明对象的类型,还是刚才那个Test类,这样写就编译不了
vat a:Test = new Test();

然而面向对象的编程则应该向第2个方法那样去声明变量的类型.这就引出了两个问题,1个是flash的变量声明机制,2是要养成良好的编程习惯.
原创粉丝点击