Уведомления

Группа в Telegram: @pythonsu

#1 Май 25, 2007 14:28:16

bialix
От:
Зарегистрирован: 2006-07-13
Сообщения: 774
Репутация: +  1  -
Профиль   Отправить e-mail  

Еще раз о статических аттрибутах классов

Striver
Вопрос bialix'а “как всегда вопрос: а зачем?” на самом деле актуальнее, чем казался сначала.
Если нужно создать счетчик экземпляров, или подобную ему штуку, то предложенные способы вполне подходят.
Если же необходимо сделать “поведение в точности как у C++”… Насколько я понимаю, создатели Питона никогда не ставили перед собой таких целей.
+1



Офлайн

#2 Май 25, 2007 16:49:26

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Еще раз о статических аттрибутах классов

Я думаю, неотъемлемая часть парадигмы ООП - инкапсуляция. Которую статические открытые изменяемые поля отлично нарушают. В Питоне предостаточно методов для предоставления staticmethod/classmethod решений. И уж в них-то можно позаботиться о том, чтобы не порвать что-нибудь ненароком. А фасад останется простым и лаконичным. На чтение легко провесить свой дескриптор с одним только __get__, а запись осуществлять через интерфейсные методы.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version