· других классов (при определенных обстоятельствах).
Класс имеет обозначение, которое используется (также как тип) для объявления объектов этого класса.
Объект создается путем воплощения класса, что сравнимо с порождением значения указателя, которое понимается как ссылка на объект. Эта ссылка однозначно идентифицирует объект, и поэтому указатель является идентификатором объекта. С указателем обращаются как с элементом данных. Его типом является связанный с ним класс.
Класс есть поименованная единица описания. В процессе выполнения 00-программы с помощью этой единицы генерируются объекты данного класса. Поэтому с этим классом во время выполнения программы можно связать множество генерируемых объектов данного класса.
Под термином объектная ориентированность между тем охватываются хорошо известные принципы software-инженерии. При этом в основе лежит принцип модульности,
который подразумевает известные критерии software-систем:
· модульную декомпозицию (модульная разложимость системы на под системы),
· модульную композицию (модульная собираемость системы из подсистем),
· модульную понимаемость (независимая понимаемость подсистемы),
· модульную стабильность (модульная модифицируемость, локальность изменений),
· модульную инкапсуляцию (модульная защита, однозначно установленные права и методы доступа).
Модульность требует особенно тщательной спецификации и описания взаимодействия (интерфейса) между составными частями software-системы. Поэтому формульная спецификация поведения интерфейса представляет особый интерес.
Для образования интерфейса выдвигаются следующие пять принципов, которые сохраняют свою силу и вне объектной ориентации:
· синтаксически ясная и независимая формулируемость единиц (частей системы),