如何用序列图来展示一个类与另一个类之间的关系,以该类的实例的实例作为输入?

2024-04-19

我将使用之前的相同示例question https://stackoverflow.com/questions/66934927/how-to-represent-the-relationship-between-an-instance-of-a-class-and-the-class-t并修改它。

我有一堂课叫House。这个类的实例是house.

class House:
    def __init__(self, steel, money):
        self.steel = steel
        self.money = money

    def housePlan():
        houseHeight = self.steel/self.money
        houseEdgeLength = self.money

我还有另一个班级叫Person。该类获取多个输入并创建一个实例House. House可以在没有Person class.

class Person:
    def __init__(self,name, steel, money):
        self.name = name
        self.steel = steel
        self.money = money
   
    def buildHouse():
        house = House(self.steel, self.money)

如何用 UML 序列图显示这两个类之间的关系?


如何用 UML 序列图显示这两个类之间的关系?

的目标是时序图不是为了显示类之间的关系,时序图描述了一个相互作用通过关注顺序Messages以及它们相应的交换发生规范 on the 生命线 (正式/2017-12-05 http://www.omg.org/spec/UML/2.5.1 § 17.8 序列图)

从你的代码建造房屋创建一个新实例House所以有一个对象创建消息。因为house是一个局部变量,实例立即丢失,那么我们可以认为它被Python的垃圾收集器立即删除,所以破坏发生规范生命线底部有一个 X 形的十字(§17.4.4.2 破坏发生规范).

(我用了一个找到消息 for 建造房屋因为来电者未知且与您的问题无关)

House 可以在没有 Person 类的情况下存在

如果你谈论课程,那是肯定的,因为House定义没有嵌套在Person.

如果你在全球范围内谈论实例,那么没有什么只是说一个Person可以实例化一个House所以也是的。

如果您参考您的上一个问题 https://stackoverflow.com/q/66934927/2458991 in my answer https://stackoverflow.com/a/66939532/2458991我不使用作品所以删除一个实例Person并不意味着删除关联的实例House.

但又在建造房屋的新实例House立即丢失,因为没有返回,也没有保存在全局变量中,也没有保存在属性中Person,然后就会被垃圾删除

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何用序列图来展示一个类与另一个类之间的关系,以该类的实例的实例作为输入? 的相关文章

随机推荐