2

グーグルを通して、これに対する多くのわずかに異なる解決策が見つかりましたが、(私にとっては)答えるのははるかに簡単なはずだと感じています。これらは、まともなUMLのスキルを習得しようとしているときに私が今心配している言葉です:D ...

「パブリック、プロテクト、プライベート、パッケージ」

私はJavaにかなり慣れているので、最初にこれをJavaで完成させてみましょう(それでも悪を行った場合は、訂正してください!):

  1. 公衆
    • 同じインスタンスのメンバーはこれを表示/使用できます
    • 同じクラスの別のインスタンスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の派生クラスのメンバーは、これを表示/使用できます
    • 別のパッケージの派生クラスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の別のクラスのメンバーは、これを表示/使用できます
    • 別のパッケージ内の別のクラスのメンバーは、これを表示/使用できます
    • 他の人はこれを見る/使用することができます
  2. 保護されています
    • 同じインスタンスのメンバーはこれを表示/使用できます
    • 同じクラスの別のインスタンスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の派生クラスのメンバーは、これを表示/使用できます
    • 別のパッケージの派生クラスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の別のクラスのメンバーは、これを表示/使用できません
    • 別のパッケージ内の別のクラスのメンバーは、これを表示/使用できません
    • 他のものはこれを見る/使用することはできません
  3. プライベート
    • 同じインスタンスのメンバーはこれを表示/使用できます
    • 同じクラスの別のインスタンスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の派生クラスのメンバーは、これを表示/使用できません
    • 別のパッケージの派生クラスのメンバーは、これを表示/使用できません
    • 同じパッケージ内の別のクラスのメンバーは、これを表示/使用できません
    • 別のパッケージ内の別のクラスのメンバーは、これを表示/使用できません
    • 他のものはこれを見る/使用することはできません
  4. パッケージ
    • 同じインスタンスのメンバーはこれを表示/使用できます
    • 同じクラスの別のインスタンスのメンバーは、これを表示/使用できます
    • 同じパッケージ内の派生クラスのメンバーは、これを表示/使用できます
    • 別のパッケージの派生クラスのメンバーは、これを表示/使用できません
    • 同じパッケージ内の別のクラスのメンバーは、これを表示/使用できます
    • 別のパッケージ内の別のクラスのメンバーは、これを表示/使用できません
    • 他のものはこれを見る/使用することはできません

今の私の質問:

  1. これはUML標準とどの程度正確に異なりますか?
  2. エラーを含めた場合、上のリストのどこにエラーを含めましたか?私は神ではないので、神がいるかもしれません;)

よろしくお願いいたします。よろしくお願いいたします。

4

1 に答える 1

2

UML標準から。可視性:

パブリック要素は、それを所有する名前空間のコンテンツにアクセスできるすべての要素に表示されます。

プライベート要素は、それを所有する名前空間内にのみ表示されます。

保護された要素は、それを所有する名前空間と一般化関係にある要素に表示されます。

パッケージ要素は、パッケージではない名前空間によって所有されており、所有する名前空間と同じパッケージ内にある要素に表示されます。パッケージによって所有されていない名前付き要素のみが、パッケージの可視性を持つものとしてマークできます。パッケージの可視性があるとマークされた要素は、最も近い囲んでいるパッケージ内のすべての要素に表示されます(他の所有要素が適切な可視性を持っている場合)。最も近い同封のパッケージの外側では、パッケージの可視性があるとマークされた要素は表示されません。

名前空間:

名前空間は、他の名前付き要素を所有できる名前空間です。

private、protectedなどのUML定義は、Javaの定義とかなり似ていると思います。

于 2012-11-18T07:02:30.407 に答える