Language agnostic 在类图中显示字段

Language agnostic 在类图中显示字段,language-agnostic,uml,class-diagram,Language Agnostic,Uml,Class Diagram,当我想在类图中显示上述类时,我可以这样做: 其中,我可以通过使用以菱形(1在图片中)结尾的线标记类B具有类a的字段,或者通过指定类的字段(2在图片中)来表示该类。然而,两者都使用似乎是多余的。我应该什么时候用前者,什么时候用后者?有什么情况下我应该同时使用这两种方法吗 编辑:实际上1可以是聚合或合成。虽然,具体的线型对我的问题并不重要,IMO Edit2:我发现了一个发生这种情况的或多或少真实的图表示例:ClassDecorator包含一个类型为Component的字段,UML中没有规则, 但

当我想在类图中显示上述类时,我可以这样做:

其中,我可以通过使用以菱形(
1
在图片中)结尾的线标记类
B
具有类
a
的字段,或者通过指定类的字段(
2
在图片中)来表示该类。然而,两者都使用似乎是多余的。我应该什么时候用前者,什么时候用后者?有什么情况下我应该同时使用这两种方法吗

编辑:实际上
1
可以是聚合或合成。虽然,具体的线型对我的问题并不重要,IMO

Edit2:我发现了一个发生这种情况的或多或少真实的图表示例:Class
Decorator
包含一个类型为
Component

的字段,UML中没有规则, 但也有最佳实践

他说

对数据类型的类和属性使用关联


@EmmadKareem对不起,“FK”是什么?还有什么遗产?我真的不知道你在想什么。@EmmadKareem什么是“属性”?另外,请参阅我文章的第二次更新。也许这会有所帮助。我的意思是使用术语属性(有时使用属性)-您显示的链接是继承关联,这种关联可能会导致子类继承多个属性和方法。@EmmadCareem By“Property”是指“field”吗?无论如何,在我的示例中,我没有任何字段的继承或重复;类
A
为空,类
B
不从任何其他类继承,并且只有一个类型为
B
的字段。这真的很简单。至于Decorator示例,它只继承方法(接口),但这对我的问题并不重要。
class A
{};

class B
{
    A a;
};