2013-12-10 3 views
0

Я помню, как несколько лет назад я читал (или слышал), что классы должны иметь либо операцию, атрибут и операцию, либо хотя бы атрибут как обязательное требование - не пустое. Я спрашиваю, является ли нарушение правил разработки программного обеспечения пустым классом или классом с атрибутами или операциями без другого.Обязательны ли члены класса?

Я просто хочу убедиться, что диаграммы классов верны для моего проекта.

спасибо.

+1

Наличие пустого класса является нарушением ничего, но обычно для этого нет причин. По вашему определению разрешены только операции/атрибуты, так что в чем проблема? – Jon

+2

http://stackoverflow.com/questions/4035180/advantages-of-an-empty-class-in-c – adil

+0

Мой вопрос ясен, и я прошу ** экспертного ** совета: «Что я прошу является ли это нарушением правил Software Engineering ** ** [...]. " – os008

ответ

2

У вас может быть класс с атрибутами, но без операций и наоборот.

Что касается класса без атрибутов и никаких операций - большинство (все?) Языков OO разрешили бы это, но, конечно, такой класс не был бы ужасно полезным, за исключением, возможно, как базового класса.

1

Инженер-разработчик - о нарушении правил и мышлении вне коробки.

Пустой класс, без свойств (атрибутов и т. Д.) Или методов (операций и т. Д.), Просто таков: абстрактный тип данных, который ничего не делает.

Многие, если не большинство систем типа, обеспечивают такую ​​вещь, если она не предопределена.

Если вы определили свое собственное, у вас должна быть веская причина для этого. В C++, например, класс, используемый как объект или тег в метапрограммировании, часто полностью пуст, поскольку он служит только для переноса информации через перегрузку системы типов или функций во время компиляции и в идеале не существует во время выполнения.

Смежные вопросы