//--------------------------------------------------------------------------------- // 等价写法一,推荐 var game:Object = {w:20, h:20}; game.tile = function() {}; game.tile.prototype.passable = true; var t = new game.tile(); // 等价写法二, 不推荐 var game:Object = {w:20, h:20}; game.tile = function() { this.passable = true; }; var t = new game.tile(); //--------------------------------------------------------------------------------- //建立circle类,通过匿名函数进行类构造,可以有含参数 //这里在含参数的类构造函数中通过形式参数(r)初始化radius(半径)属性 ////注意: ////这种新建含形式参数类的构造方法必须是 class= function(p){...} ////而不能是function class (p){ ... } 形式 circle = function (r) { this.radius = r; }; //这里给circle类添加一个无参数的area()方法,当然也可以有含参数的方法 circle.prototype.area = function() { return Math.PI*this.radius*this.radius; }; trace(typeof circle) // function trace(typeof circle.prototype) // objct //新建一个 circle类的实例c,用来继承 circle 的属性和方法 c = new circle(5); trace(c.area()); //调用circle类的area()方法