英文链接: http://atlas.asp.net/docs/atlas/doc/javascript/default.aspx
按我的理解,面向对象基本的特性无非六个字:封装、继承和多态。研究了Atlas的文档之后,发现它的Javascript脚本库把这几个特性都实现了。Ok, Let go......
先看看封装
Atlas提供了命名空间Namespace的功能来隔离命名冲突,而且在类中可以定义私有变量,达到的封装的目的。可惜的是类的方法好像只能是公共的。
以下是示例代码(所有的示例代码来自于原文链接)
定义了以上的Demo.Person类之后,就可以在页面中的Javascript代码中按OO的方法使用了。
然后来看看继承
简单地说,就是用prototype定义虚函数。使用registerCalss定义基类,构造函数调用initializeBase
最后,我们来看看多态
其实上面的代码toString函数已经实现了继承的多态。我们再来看看接口实现的多态:
首先,用registerInterface定义一个接口
然后,在registerClass的时候,第三个参数指定类实现了哪个接口
Atlas还支持抽象类的定义(registerAbstractClass)
确实算是比较完备了。
看到这里,还是比较兴奋。Javascript终于也可以以OOP的方式来编写了,其扩展的潜力不可低估啊。