在 UML 中,是否包含方法中定义的变量?
In UML, do you include variables defined in methods?
我知道 UML 的基本格式,我知道您通常包括为 class 定义的变量。我的问题是,您是否包括在 class 的方法中定义的变量?
在我的程序中,我有两个 classes,BabyName 和 NameFinder。 BabyName 是一个对象,我的 UML 包含了它的所有变量。 NameFinder 中唯一的变量是在 main() 和其他方法中定义的变量。这些会包括在内吗?
在 UML 中,您不需要在 class 中声明方法的局部变量。这些变量与对象的状态无关,它们只是用于执行方法的临时变量。
如果NameFinder
没有Class级变量,则不需要包含。
让我们直呼其名吧。
不是告诉变量为class,也就是所谓的属性(或者你可以叫它们字段)
方法的参数不应包含在属性部分。这样做是错误的。 UML 是灵活的,但也有它的规则。这就是其中之一。
解释很简单:参数是方法的局部参数,在方法之外是不存在的。因此定义属性部分是没有意义的。
与属性的情况不同,它们在整个 class 范围内都是 "global" 范围。虽然在任何时候都有 class 的实例 (1) 可以访问属性。
(1) 好吧,实际上并非总是如此。只有简单类型的属性。如果属性是指针类型或 class(举两个例子)是不同的并且取决于内存已被保留并且是可用的实例。
我知道 UML 的基本格式,我知道您通常包括为 class 定义的变量。我的问题是,您是否包括在 class 的方法中定义的变量?
在我的程序中,我有两个 classes,BabyName 和 NameFinder。 BabyName 是一个对象,我的 UML 包含了它的所有变量。 NameFinder 中唯一的变量是在 main() 和其他方法中定义的变量。这些会包括在内吗?
在 UML 中,您不需要在 class 中声明方法的局部变量。这些变量与对象的状态无关,它们只是用于执行方法的临时变量。
如果NameFinder
没有Class级变量,则不需要包含。
让我们直呼其名吧。
不是告诉变量为class,也就是所谓的属性(或者你可以叫它们字段)
方法的参数不应包含在属性部分。这样做是错误的。 UML 是灵活的,但也有它的规则。这就是其中之一。
解释很简单:参数是方法的局部参数,在方法之外是不存在的。因此定义属性部分是没有意义的。 与属性的情况不同,它们在整个 class 范围内都是 "global" 范围。虽然在任何时候都有 class 的实例 (1) 可以访问属性。
(1) 好吧,实际上并非总是如此。只有简单类型的属性。如果属性是指针类型或 class(举两个例子)是不同的并且取决于内存已被保留并且是可用的实例。