На диаграмме классов атрибуты класса, такие как self.x, self.y и т. Д., Перечислены в своем собственном разделе после имени класса, но перед методами класса.Нет необходимости добавлять self перед каждым атрибутом, поэтому вы можете просто удалить его.
При перечислении методов класса вы обычно указываете только их сигнатуру (имя, имена параметров и типы) и тип возвращаемого значения.Атрибуты класса, которые используются внутри этих методов, не перечислены.Примером записи в каждом разделе может быть:
Rectangle
width: float
height: float
area(): float
Обратите внимание, что видимость атрибутов и методов класса обрабатывается по-разному в Python.В Python нет атрибутов или методов закрытого или защищенного класса;все публично.Вместо использования таких ключевых слов, как private, protected и public для обозначения видимости, имя используется для передачи намерений относительно видимости.Общее мнение заключается в том, что:
- атрибуты класса и методы с именем, начинающимся с подчеркивания или двойного подчеркивания (применяется искажение имени), не являются частью открытого интерфейса
- все остальные атрибуты и методы класса считаются частью открытого интерфейса
Итак, если вы хотите указать, что атрибуты ширины и высоты не должны быть доступны извне этого класса, вы должны адаптировать предыдущийНапример, следующим образом:
Rectangle
_width: float
_height: float
area(): float
_a_private_method(): None
Чтобы ответить на ваш вопрос напрямую: нет причин использовать «self» в диаграмме классов.