2010-03-16 4 views
6

Flex ActionScript에서 ()을 포함하거나 포함하지 않고 매개 변수없는 생성자를 통해 새 객체를 인스턴스화 할 수 있습니다. 예 :Flex ActionScript 생성자를 호출 할 때 Is()가 요청 되었습니까?

var array:ArrayCollection = new ArrayCollection() 

또는

var array:ArrayCollection = new ArrayCollection 

는 둘 사이에 차이가 있나요? 하나가 다른 것보다 선호됩니까?

+0

좋은 질문입니다. 물론 생성자 -AHBL에 필요한 인수가있는 경우. –

+6

불필요한 경우에도 명확하게 추가하십시오. –

+0

생성자에 'new'를 삽입하는 규칙이 있습니까? 컴파일러가 '()'가없는 생성자라는 것을 이해한다면 'new'도없이 이해할 수 있습니다. – Nishu

답변

2

기능면에서 차이가 없다고 생각 합니다만, 관례적인 이유만으로()을 가지고있는 것이 좋습니다.

0

흥미로운 점. 귀하의 질문까지 나는 심지어 생성자를 호출했다는 것을 나타 내기 위해 클로저없이 클래스를 "new"연산자에 전달하려하지 않았습니다. 나는 그것을 시험해 보았지만 효과가 있었지만 그렇게 편안하게 느끼지는 않았다. 당신의 생성자와 아무것도하지 않을 경우

-2

, 당신도 그렇게 멀리 갈 필요가 없습니다 :

var array:ArrayCollection; 

이 변수가 잘 선언합니다.

아마도 생성자가 클래스가 호출 될 때 자동으로 호출되는 마법 메서드이기 때문에 실제 차이점은 없습니다.

+0

이것은 변수를 정의/선언하고 ArrayCollection의 인스턴스를 인스턴스화하지 않습니다. 인스턴스화 될 때까지 변수는 정의되지 않습니다. 정보 walpolea에 대한 감사합니다. – walpolea

+0

. 내 대답을 바로 잡았어. – invertedSpear

0

개체를 인스턴스화하는 두 가지 방법의 차이점을 모르지만 컨벤션은 ()을 사용합니다. 생성자 var e:Event = new Event('EventType');에 매개 변수를 보내야하는 객체를 인스턴스화 할 때 괄호를 사용하여 아무 것도 전달되지 않는다고 알리는 경우에도 마찬가지입니다.

관련 문제