2011-02-11 4 views

답변

1

아니요, 불행히도 아닙니다. 쉽게 구현할 수 있습니다. 구현하려고한다면 확장 할 것입니다. Proxy object 유연성이 뛰어납니다.

UPDATE :

이 업데이트는 영업 이익으로 주석의 질문에 명확히하는 것입니다. 댓글은 "사전/등이 아닌 새로운 수업을 연장 할 것입니까?"

예, 프록시를 확장해야합니다. 그 이유는 여러 가지 마법 방법을 재정 의하여 목표를 달성 할 수 있기 때문입니다. 특히 귀하의 경우 setProperty(name:*, value:*):void을 무시할 수 있습니다. 이 메소드는 클래스에 속성이 설정 될 때마다 호출되어 (지정된 구현을 제공 할 때까지) 지정된 시간에 설정된 값의 수를 셀 수 있습니다. Object 또는 dictionary를 확장하면이 속성에 액세스 할 수 없으며 새 속성이 설정되는 시점을 알 수 있습니다.

대신 개체를 확장하는 경우 인터페이스를 사용하여 목표를 달성해야하므로 메서드 호출을 통해 속성을 설정해야합니다.

myObj.foo = 'bar'; 
myObj["foo"] = 'bar'; 

방법의 구현 (확장 개체)과 같을 것이다 :

myObject.setVal("name", "val"); 
+0

그것은 수있는 새로운 클래스가 프록시 및 확장

프록시 구현은 여전히 ​​다음과 같은 속성을 설정할 수있는 것 사전/등 아닌가요? 나는 ActionScript를 처음 사용하며 누군가가 수업을 시작할 준비가 되었으면 매우 고맙게 생각합니다. –

+0

이유를 명확히하기 위해 답변을 업데이트했습니다. 희망이 도움이됩니다! –

관련 문제