Q&A

  • 상속받은 객체중에 보이고 싶지 않은 속성..
어떤 객체에서 상속받아 새로운 컴포넌트를 제작중입니다.



헌데,모 객체의 속성이나 이벤트중에는 사용되지 않게되는 것이 많아

아예 제작중인 자식객체에는 보이지 않게 하고 싶은데 방법을 모르겠어요



예를 들어 Tlabel객체를 상속받아 NewLabel이란 객체를 만드는데

모객체인 Tlabel에 있는 color속성을 newlabel에서는 보이지 않게 하려면

어떻게 해야 하는지요?.

그리고,만약 color속성을 NewColor란 이름으로 재 설정이 가능한지요?





2  COMMENTS
  • Profile
    김일영 2000.11.16 10:49
    보이고 싶지 않은 속성은 다음과 같이 합니다.

    class A에서 property P: Integer ... 이런 것이 있을 경우



    type

    B = class(A)

    protected

    property P; // 이 외의 아무것도 쓰지 않음(예: 타입 표시 등)

    public

    ...

    end;



    이렇게 하면 가려집니다.



    두번째 질문은 제가 아는 바로는 직접적인 방법은 없습니다.

    위와 같이 가려놓고, GetNewP/SetNewP처럼 Accessor를 새로 정의해서

    해야겠지요. 그러니까 일반 프로퍼티 만들듯이 하고 Get/Set 메소드에서

    이전 프로퍼티를 참조해서 접근하도록 해야겠지요.



    수고하십시요.

    =======================================================================



    이성윤 wrote:

    > 어떤 객체에서 상속받아 새로운 컴포넌트를 제작중입니다.

    >

    > 헌데,모 객체의 속성이나 이벤트중에는 사용되지 않게되는 것이 많아

    > 아예 제작중인 자식객체에는 보이지 않게 하고 싶은데 방법을 모르겠어요

    >

    > 예를 들어 Tlabel객체를 상속받아 NewLabel이란 객체를 만드는데

    > 모객체인 Tlabel에 있는 color속성을 newlabel에서는 보이지 않게 하려면

    > 어떻게 해야 하는지요?.

    > 그리고,만약 color속성을 NewColor란 이름으로 재 설정이 가능한지요?

    >

    >

  • Profile
    이성윤 2000.11.17 05:58
    답변 감사드립니다.

    어제 새벽에 글을 올렸는데 바로 답변을 주셨군요.



    헌데,잘 않되네요.



    현재 제가 숨겨야 하는것은 정확히 이야기 하면 ClientSock의 Active 속성인데

    이놈이 않숨어요.

    그래서,다른 여러가지 속성도 숨겨보았는데 모두 않숨네요.



    이상하네요 ?

    숨었으면 좋겠는데 ..