如何表示 class 的实例与将其作为输入的 class 之间的关系?

How to represent the relationship between an instance of a class and the class that gets it as an input?

我有一个叫 House 的 class。这个class的实例是house.

class House:
    def __init__(self, height, length):
        self.height = height
        self.length = length

    def housePlan():
        houseHeight = self.height
        houseEdgeLength = self.length

house = House(height,length)

我还有另一个 class 叫 Person。此 class 获得多个输入,包括 House.

的实例
class Person:
    def __init__(self,name, house):
        self.name = name
        self.house = house

问题编辑:我想向观众展示我的程序,如何用图表展示这些关系?

不过,展示您所拥有的东西的方式有很多种。总之,这是一个可行的方法。

基本上,您应该在 class 图表中只显示静态 classes。这表明它们是如何相关的。由于只有 HousePerson,因此将它们绘制在一张图表上应该不难。当事情变得更复杂时,您可能需要更多图表来显示子域。

现在是问题的“输入”部分:这里最好创建一个 sequence diagram 来显示如何创建实例并在消息参数中传递实例。为了显示不同的场景,您将为每个场景创建一个额外的 SD。你不应该在细节上做得过头。那就是:避免图形化编程!只需显示足够的内容即可获得良好的概览。

可以在单个 object/class 图上半静态地显示实例和 classes。但这很少有意义。因此,您应该只使用如上所述的 SD。

I have another class called Person. This class gets several inputs including an instance of House

House 的实例不仅在 Person 的构造函数的参数中给出,而且它是 属性 class (self.house = house),所以:

我说 name 是一个 String 很有可能。

所有属性/属性/操作都是public遵守Python规则。

在 class 图的级​​别上,无法查看操作参数的来源,因为您可以使用交互(例如下一个问题中的序列图,其中我还放了一个 ) 或 activity

(奇怪的是你的房子有长没有宽,所以必须是正方形)