[Q] difference between assign attribute in array and in class?

HI all ~~

For the following code
I don’t really understand … what is the difference between
“assign the attribute in an array” and “assign the attribute in a class” ??
it seems “array” is more simple and convenient~

Thanks for helping~~

 
var character:Object = new Object();
for (var i =0; i< 10; i++) {
 var p:Player = new Player();
 p.name = "char" + i;
 p.setName("Name" +i);
 p.setID(i);
 addChild(p);
 character["char"+i] = {name:"Name"+i, id:i};
}

 
package {
 import flash.display.MovieClip;
 public class Player extends MovieClip {
  private var name:Number;
  private var idNum:Number;
  public function Player() {
 
  }
  public function setName(inName:String):void {
   this.name = inName;
  }
  public functionn setID(inID:Number):void {
   this.idNum = inID;
  }
 
 } 
 
}