对ActionScript中clone()方法的了解

以前一直不理解clone()方法的用处,直到今天才理解。

1.clone()方法可以生成一个和已知对象一模一样的对象,以便新对象使用。新对象的改变,不会影响到原有对象。

例如:

 

1 var a:Point = new Point(10,20);
2 var b:Point = a;
3 b.x = 100;
4
5 trace("a.x = "+a.x);
6 trace("b.x = "+b.x);
7  //a.x = 100
8  //b.x = 100
9  
10 var c:Point = new Point(10,20);
11 var d:Point = c.clone();
12 d.x = 100;
13 trace("c.x = "+c.x);
14 trace("d.x = "+d.x);
15  //c.x = 10
16  //d.x = 100

2.使用clone()方法,会为新对象分配一块内存,所以所有对心对象的改变都不会改变原有对象。

 

 

 

 

var a:Point = new Point(10,20);
 var b:Point = a;
 b.x = 100;
 
 trace("a.x = "+a.x);
 trace("b.x = "+b.x);
 
 var c:Point = new Point(10,20);
 var d:Point = c.clone();
 d.x = 100;
 trace("c.x = "+c.x);
 trace("d.x = "+d.x);
posted @ 2010-06-07 21:07  硕气书生  Views(524)  Comments(0Edit  收藏  举报