2014-09-15 2 views
-2

나는 이에 대한 해답을 찾고 있었지만 이와 같은 특정 문제에 대한 답을 찾는 것은 매우 어렵다. 내가 뭔가 제대로 이해하지 못했을 수도 있지만, 그것이 무엇이든간에, 나는 당신이 도울 수 있기를 희망합니다! :)수퍼 클래스 (as3)로 전달한 후 하위 클래스 속성에 액세스

저는 Player라는 클래스를 확장하는 Panda라는 클래스가 있습니다. 또한 플레이어를 매개 변수로 사용하는 Enemy라는 클래스가 있습니다. Enemy 클래스는 실제로 Panda 클래스의 속성에 액세스해야하지만, Player 클래스를 확장하고 Enemy 클래스에 전달되는 여러 클래스를 만들고자하므로 Enemy는 Player 클래스의 매개 변수를 사용합니다. 내가 팬더 클래스에 속하지만 Player 클래스가 나에게 1119 오류를 줄 아무것도에 액세스하려고 할 때

그러나 :

왜이와 ... 어떻게 정의되지 않은 재산의 접근을 할 수있는 내가 설정 내 코드는 Player 클래스를 확장하는 다양한 클래스를 전달할 수 있으며이 1119 오류가 발생하지 않고 속성에 액세스 할 수 있습니까?

(흠. 서브 클래스와 슈퍼 클래스 ... 난 지금, 바로이 용어를 사용하고?)


이러한 링크 나 (가) 아래에서 그 답을 이해하는 데 도움이. 도와 줘서 고마워!

상수 VAR : http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f87.html

타입 변환 : 팬더 클래스의 속성에 액세스 할 때는 http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f87.html

답변

0

, 당신은 입력 할 필요 캐스트 :

private var _player:Player; 

public Enemy(player:Player) { 
    _player = player; 
    const panda:Panda = _player as Panda; 
    if (panda) { 
    setPlayerIsPanda(panda); 
    } 
} 

private function setPlayerIsPanda(panda:Panda):void { 
    // do panda stuff 
} 
관련 문제