앞에서 속성 x라는 setter나 getter에 관하여 다루어 보았다. 이들은 Sprite나 MovieClip에서 공통적으로 상속받은 어떠한 클래스의 메서드일 텐데...이들의 실행문을 개발자 마음대로 바꾸어 실행하도록 하고싶을 때는 메서드를 재정의 하여야 한다.

public override function 함수이름():반환타입
{
     명령문들...
}
또는 아래와 같이 재 선언 할수도 있다.
override public function 함수이름():반환타입
{
     명령문들...
}
위처럼 부모의 메서드를 재정의하여 사용하고 싶을 때 사용한다.
가령 A라는 클래스에 mind()라는 클래스는 trace("난 이미자 좋아")를 구현한다. 이 A라는 클래스를 상속받은 B클래스는 세대도 바뀌고 환경도 바뀌어 mind()가 "태희 좋아"로 바꾸려고 한다.

//클래스 A
public class A
{
   public function mind():String
  {
   
  return "이미자 좋아"
  }
}

//클래스 B
public class B extends A
{
   override public function mind():String
  {
    
return "태희 좋아"
  }
}


A클래스에서는 mind를 실행시키면 이미자를 좋아하지만 B클래스 이후 부터는 mind를 실행시키면 태희를 좋아하게 되는 것입니다. (B를 상속받은 모든 클래스는 A와 B의 모든 메서드를 가지고 있겠지만 mind인 경우 "태희 좋아"라는 B클래스에서 재 선언한 메서드가 실행하게 된다.)
Posted by 정윤수 버터백통

댓글을 달아 주세요