python中的UML图?
我刚刚开始学习UML,目前正在尝试使用python实现此图的功能 我已经写了继承部分,但是我还不知道如何处理它的关联部分。谁能给我指点怎么做?特别是循环引用 我迄今为止的执行情况:python中的UML图?,python,inheritance,uml,associations,Python,Inheritance,Uml,Associations,我刚刚开始学习UML,目前正在尝试使用python实现此图的功能 我已经写了继承部分,但是我还不知道如何处理它的关联部分。谁能给我指点怎么做?特别是循环引用 我迄今为止的执行情况: class RailCar(): def __init__(self, name): if len(name) >= 2: self.__name = name self.locomotive = None else:
class RailCar():
def __init__(self, name):
if len(name) >= 2:
self.__name = name
self.locomotive = None
else:
raise Exception("Name length of", type(self), " object must be at least 2 characters long.")
class PassengerCar(RailCar):
def __init__(self, capacity):
super().__init__(self, name)
self.__capacity = capacity
class RestaurantCar(RailCar):
def __init__(self, first):
super().__init__(self, name)
self.__first = first
class Locomotive():
def __init__(self, railCar):
self.railCar = railCar
rc01 = RailCar('01')
rc01.locomotive = "It works!!"
print(rc01.locomotive)
假设自引用是private
next
属性的翻版。应该在关联旁边写上角色名称,如下所示:
无论如何,您可以使用self.\u下一步
保存对RailCar
实例的引用。然后getter/setter将引用这个私有属性
class RailCar():
def __init__(self, name):
# as above
self._next = None
def setNext(self, next):
self._next = next
# you might check if the instance is RailCar.
@property
def getNext(self):
return self._next
另外,
机车
-轨道车
关系类似(具有相同的建模问题)。只是一个self.\u首先在机车中不幸的是,self-association没有命名/没有角色。所以很难说是什么。可能是拖车?在这种情况下,只需在RailCar
内安装一个self.nextRailsCar
或类似设备即可。