在UML中,你是否包含方法中定义的变量?

问题描述:

我知道UML的基本格式,我知道你通常包含为这个类定义的变量。我的问题是,你是否包含在类的方法中定义的变量?在UML中,你是否包含方法中定义的变量?

在我的程序中,我有两个类,BabyName和NameFinder。 BabyName是一个对象,我的UML包含了所有的变量。 NameFinder中唯一的变量是在main()和其他方法中定义的那些变量。那些会被包括在内?

+1

术语是_“local”_ – keyser 2015-03-13 17:17:06

在UML中,您不需要声明类中方法的局部变量。这些变量不需要处理对象的状态,它们只是执行方法的临时变量。

如果NameFinder没有类级变量,则不需要包含它们。

+0

谢谢,Hypino! – Gil 2015-03-13 17:19:39

让我们以他们的名字来称呼事情。

没有被告知变量的类,被称为属性(或者你可以给他们打电话场)

方法的参数不应该包括在属性的部分。这样做是一个错误。 UML是灵活的,但也有其规则。这是其中之一。

解释很简单:参数对于方法是局部的,在外部不存在。因此定义属性部分是没有意义的。 与具有属性的情况不同,它们在整个班级中都是“全局”范围。在任何时候都有一个类的实例(1)可以被访问的属性。

(1)好吧,实际上并非一直。只有简单类型的属性。如果该属性是一个指针类型或一个类(这里举两个例子)是不同的并且依赖于该内存并且是可用的实例。