Neuromance писал(а):
От того, что вы класс будете называть статическим его сущность не изменится. Он не перестанет быть классом, в котором можно объявлять обычные нестатические методы. Если бы назвав его статическим, вы таким образом запретили объявление в нём нестатических методов и свойств, тогда да, таким понятием можно было оперировать.
Как, например, если создадите абстрактный класс, то не сможете создать его экземпляр. Тут сразу видно отличие от обычного класса. А понятие статический класс - не более чем удобное обозначение для обычного класса, как бы подразумевающее, что все методы класса статические.
В целом согласен. Но давайте определимся -- мы с вами говорим о
понятиях, или о
реализациях этих понятий в конкретном языке программирования?
Я же не говорил, что статический класс -- это языковая структура, я лишь описал его, как понятие. Точно такое же, как Singleton, ООП, MVC и прочие
понятия.
Так почему некоторые называют это бредом, сравнивая с тем же абстрактным классом в PHP, но забывая сравнить с
static class в C++?
Ведь таким же бредом можно назвать MVC в PHP, сравнив его с коробочным MVC в asp.net, ибо в PHP понятие MVC не накладывает никаких физических ограничений - грузи себе данные в представлении, или обрабатывай запросы пользователя в модели