Объекты
По определению будем называть объектом понятие,
абстракцию или любую вещь с четко очерченными границами, имеющую смысл в
контексте рассматриваемой прикладной проблемы. Введение объектов преследует две
цели:
- понимание прикладной задачи (проблемы);
- введение основы для реализации на компьютере.
Примеры объектов: форточка, Банк "Империал", Петр
Сидоров, дело ? 7461, сберкнижка и т.д.
Цель разработки объектной модели - описать объекты,
составляющие в совокупности проектируемую систему, а также выявить и указать
различные зависимости между объектами. Декомпозиция проблемы на объекты -
творческий, плохо формализуемый процесс.
Все объекты могут быть отличены один от другого: пусть у нас
есть два яблока, имеющие одинаковый цвет, форму, вес и вкус; все равно это два
яблока (а не одно), в чем легко убедиться, съев одно из них (другое останется).
Между объектами можно установить отношение тождества: объекты, удовлетворяющие
этому отношению, одинаковы (тождественны), как вышеупомянутые яблоки. В случае с
яблоками иногда говорят о двух экземплярах объекта яблоко. Мы будем считать
здесь, что объект и экземпляр объекта - это одно и то же.
Классы
Два яблока из предыдущего примера принадлежат одному и тому же
классу объектов (именно с этим связана их одинаковость). Цвет, форма, вес
и вкус яблока - это его атрибуты: совокупность атрибутов и их значений
(например, красное, овальное, стограммовое, кисло-сладкое) характеризует объект.
Все объекты одного и того же класса характеризуются одинаковыми
наборами атрибутов. Однако объединение объектов в классы определяется не
наборами атрибутов, а семантикой. Так, например, объекты конюшня и лошадь могут
иметь одинаковые атрибуты: цена и возраст. При этом они могут относиться к
одному классу, если рассматриваются в задаче просто как товар, либо к разным
классам, что более естественно.
Рис. 2.1. Пример класса и объекта этого класса
Объединение объектов в классы позволяет ввести в задачу
абстракцию и рассмотреть ее в более общей постановке. Класс имеет имя (например
лошадь), которое относится ко всем объектам этого класса. Кроме того, в классе
вводятся имена атрибутов, которые определены для объектов. В этом смысле
описание класса аналогично описанию типа структуры (записи); при этом каждый
объект имеет тот же смысл, что и экземпляр структуры (переменная или константа
соответствующего типа). Пример класса и объекта этого класса приведен на рисунке
2.1.
|