FLASH

속성 정의하기

code2 2007. 2. 14. 19:56


/*addProperty()는 속성의 이름, 속성이 읽혔을때의 함수, 속성이 설정됐을 때의
함수를 정의합니다. 설정됏을 때의 작동을 null로 하면 읽기 전용의 속성이 됩니다.
이 메서드로 정의된 속성을 getter/ setter속성이라고 부릅니다.
*/


//getAge의 정의
function getAge(){
 return Math.round((this.age))
 
}

//setAge의 정의 : 0보다 작은 값은 0
function setAge(old){
 if(old<0){
  old = 0;
 }
 this.age = old;
}

//getDays의 정의 : age의 365배
function getDays(){
 return this.age *365;
 
}

myobject = new Object();

//age 속성의 설정 : 읽기 & 기록가능.
myobject.addProperty("age",this.getAge,this.setAge);

//days속성의 설정 : 읽기전용
myobject.addProperty("days",this.getDays,null);

//age를 4.51로 설정하지만 getAge함수에 의해 사사오이된 값이 들어감.
myobject.age = 24;

//days는 읽기 전용이므로 값 설정을 무시해도 됨.
myobject.days = 0;

//age와 days의 표시
trace(myobject.age);
trace(myobject.days);