2014-11-18 2 views
1

UML에서 클래스 A를 확장하는 클래스 B를 다이어그램으로 만듭니다. 실제 클래스 구현에서 클래스 B의 생성자는 클래스 A의 보호 된 멤버에 대한 기본값을 설정합니다. 클래스 소유의 기본값을 다이어그램 작성하는 방법은 알고 있습니다. 멤버가 아니지만 클래스에서 소유하지 않은 필드의 기본값을 다이어그램으로 표시하는 방법은 무엇입니까?소유되지 않은 필드에 대한 다이어그램 작성 기본값

즉, 클래스 A에 정의 된 필드의 경우 클래스 B의 기본값을 어떻게 표시 할 수 있습니까?

(참고 : 나는 클래스 구조를 변경할 수 없습니다 해요, 난 단지 다이어그램거야)

답변

1

클래스 B의 인스턴스에 특정 속성의 슬롯 값 채우기 상속 된 field1 특성에 적용됩니다.

  • slots in object instances
  • 을 표시 할 때이 표기법도 내가 어떤 반론 잘 모르는 것 같아요 사용 그것을
  • 를 지원하는 놀라운 도구가 :

    그래서 나는 때문에 표기가 올바른지 생각

+0

매우 흥미 롭습니다. 나에게 그것은 접근 수정자가 없다는 것, 즉 B 클래스의'field1'에'- + $'가있는 것처럼 보입니다. B 클래스의'field1'은 클래스 B에서 정의되지 않았지만 조상들에 의해 정의되었습니다. 그게 내가 원하는거야. – dgtc

+0

@dgtc [UML 명세] (http://www.omg.org/spec/UML/) 문서와 비교해 보았습니다.하지만 그것은 내가 좋아하는 책이 아니므로 다른 출처에 의존하고 있습니다. uml-diagrams.org에 따르면 [visibility modifier는 선택 사항입니다] (http://www.uml-diagrams.org/property.html) EA 도구가 그 방법을 그려내는 것 같습니다. 다이어그램을 읽는 사람의 관점에서 볼 때 여기서 사용성 문제는 보이지 않습니다. 다이어그램에 emhasized해야 할 것이있는 곳의 메모 기호 (주석 포함)를 붙일 수 있습니다. – xmojmr

+1

알립니다. Visbility 수식어는 단순히 선택 사항입니다. 즉, 부재 란 의미 적 의미가 없습니다. 그래서, 제 관찰은 잘못되었습니다. 내 최선의 방법은 메모 나 기호입니다. 감사! – dgtc

1
당신은 클래스 B에 기본 값을 설정해야합니다 클래스 B. 재정의에 클래스 A에서 속성의 재정을 사용할 수 있습니다

또는 슬롯을 사용하여 인스턴스 스펙 (클래스 B의 인스턴스)을 정의 할 수 있습니다. 인가

I가 Sparx 시스템 엔터프라이즈 설계자 사용 픽처를 생성하려면 enter image description here

"Features & Properties → Override Attribute Initializers" 컨텍스트 메뉴 조작이 길이어야

+0

다시 정의하면 속성 섀도 잉이 제안됩니까? 그것은 내가 할 수없는 클래스 정의를 변경하도록 요구할 것입니다. 그러나 좋은 팁. – dgtc

관련 문제