2013-05-22 5 views
0

counter이라는 속성이있는 Object 클래스가 있습니다. 비공개 또는 보호 대상 (예 : this._counter 또는 this.__counter)으로 설정할 수 있나요? 이 getCounter()setCounter(val)의 자동 생성을 가능으로qooxdoo : 보호 된/개인 속성?

qx.Class.define("myApp.model.MyClass", 
{ 
    extend : qx.core.Object, 
    construct : function() { 
    }, 
    properties : { 
    counter : { init : '', check : 'Integer' } 
    } 
}); 

속성이 좋다.

그러나 공용 속성으로 설정하는 데 어떤 단점이 있습니까?

답변

2

죄송합니다.하지만 속성을 비공개 또는 보호로 설정하는 것은 불가능합니다. 대신 멤버 변수를 사용하고 직접 액세스하거나 자체 setter/getter를 작성해야합니다.

+0

그러나 공개 속성으로 설정하는 데는 단점 (예 : 보안 문제)이 있습니까? – Raptor

+2

아니요. 속성을 사용할 때 **이 노출이 필요합니다. 속성은 모델링 기능입니다. 클래스에 숨겨진 데이터를 원하면 속성을 사용하지 마십시오. – ThomasH