首页 > 解决方案 > 如何在类图中表示 Python 中的静态方法?

问题描述

Python 中的静态方法在逻辑上与类相关联并存在于其中,但它们不是成员方法或类方法。我如何在类图中表示它,如何将它与其他方法区分开来?

// Suppose this is the method
@staticmethod
def is_work(day):
   if day.weekday() == 4 or day.weekday() == 5:
       return False
   return True

标签: pythonclassumlstatic-methodsclass-diagram

解决方案


@classmethod 和 @staticmethod 都映射到 UML 静态属性,这意味着它们应该在图表上用下划线呈现。

但是,UML 没有内置任何东西可以让您区分它们。如果您为 cls 参数使用标准名称,那么这至少会允许一些视觉上的区别。如果您想更进一步,我建议您定义一个刻板印象以确保它是显而易见的。


推荐阅读