Пользователям нужна возможность хранить в системе данные произвольной структуры — состоящие из разных, заранее неизвестных разработчикам полей. Для этого были созданы классы. 

Класс содержит имена атрибутов (полей) и типы хранимых в атрибутах данных. Классы могут наследовать свойства (наборы атрибутов и типы их данных) один от другого. Класс-потомок содержит свойства класса-родителя и прибавляет к ним свои. 

Классы определяют структуру и типы хранимых данных, сами же данные хранятся не в классе, а в объектах, созданных в соответствии со структурой, описанной в классе. Класс можно сравнить с планом дома, а объект — с домом, построенным по этому плану.

Приведем пример. Для хранения сведений о клиентах в системе создан стандартный класс Контрагент. Среди его атрибутов:

  • Юридический адрес; 
  • Фактический адрес; 
  • Почтовый адрес и т. д.

Это — данные, которые понадобятся для работы с любым клиентом, будь то физическое или юридическое лицо. Но о юридическом лице нужно сохранять больше данных, чем о физическом. Поэтому для юридических лиц создан свой класс, наследующий классу Контрагент: Юридическое лицо. В него входят все атрибуты класса-родителя, и сверх того — новые:

  • Полное название;
  • Краткое название;
  • Руководитель...

Таким же образом класс Юридическое лицо расширяется классом Юридическое лицо РФ:

  • КПП; 
  • ОГРН...

Атрибутов системного класса может оказаться недостаточно для хранения данных о клиенте. В этом случае администратор создаёт новый класс, наследующий свойства, например, Юридического лица РФ. К унаследованным свойствам прибавляются новые:

  • No labels