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

2024-09-30 22:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个名为House的类。这个类的实例是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)

我有另一个类叫做Person。该类获取多个输入,包括House的实例

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

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


Tags: 实例nameself编辑initdeflengthclass
2条回答

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

House的实例不仅在Person的构造函数的参数中给出,而且是类(self.house = house)的一个属性,因此:

enter image description here

我说,名称是一个字符串,这是非常可能的

所有属性/属性/操作都是公共的,以遵守Python规则

在类图的层次上,不可能从操作的参数来自何处看到,因为您可以使用交互(例如,像在您的下一个问题中一样的序列图,其中我还放置了answer)或活动

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

尽管如此,还是有很多方法可以展示你所拥有的。无论如何,这里有一个可行的方法

基本上,您应该在类图中只显示静态类。这说明了它们之间的关系。因为只有HousePerson,所以在单个图表上绘制它们应该不难。当事情变得更复杂时,您可能需要更多的图表来显示子域

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

可以在单个对象/类图上半静态地显示实例和类。但这很少有意义。所以你应该像上面所说的那样使用SD

相关问题 更多 >