对象可以包含其超类吗?

时间:2018-10-10 11:03:00

标签: java oop inheritance uml

例如(在Java中,但问题是关于每种oo语言):

    public class A { public int i;}

    public class B extends A { 
       private A a;
       B(A aa) { a = aa;}
    }

    public class C {
       public static void main(String[] args) {
           A a1 = new A();
           B b1 = new B(a1);
           B b2 = new B(b1);
       }
   }

如我所见,它正在Java中运行,但我不知道它是真的允许还是应该避免。我需要它来制作UML,而不是具体代码。

1 个答案:

答案 0 :(得分:2)

确定您可以这样做:

enter image description here

SubClass(B)是SuperClass(A),它还拥有类型general的自有财产SuperClass(a;尽管在我的示例中是公共的)