Понятие класса объектов
В объектных системах объекты одного типа принято объединять в классы объектов. Каждый объект всегда принадлежит некоторому классу объектов. Класс объектов — это обобщенное (абстрактное) описание множества однотипных объектов.
Объекты являются конкретными представителями своего класса, их принято называть экземплярами класса. Например, с точки зрения объектной технологии, каждый человеческий индивидуум – это экземпляр класса «Человек».
Класс объектов определяет свойства и методы, то есть тот интерфейс, который является единым для всех его экземпляров. Это определение устанавливает своего рода рамки, которые каждый экземпляр заполняет своими индивидуальными значениями. Стало быть, экземпляры имеют тип соответствующего класса.
Экземпляры одного класса могут отличаться лишь значениями своих свойств, но не своими методами. Методы устанавливаются для всех экземпляров при определении класса. Отсюда следует, что все члены одного класса обнаруживают не только идентичный интерфейс, но и идентичное «поведение».
В качестве примера представим себе класс «Треугольник», обладающий такими методами, как «Нарисовать», «Переместить», «Удалить», а также свойствами «Позиция», «Размер», «Цвет». Для этого класса определены методы и написан соответствующий код, с помощью которого треугольник рисуется, удаляется или перемещается с одной позиции на другую. Отдельные экземпляры обладают значениями свойств: определенной позицией, размером, цветом. Если требуется удалить какой-нибудь треугольник, пользуются его методом «Удалить». Хотя этот метод и определен в классе объектов, он является методом экземпляров, действующим для каждого экземпляра в отдельности, и относится непосредственно к тому треугольнику, для которого вызывается.
***Рисунок-класс и его экземпляры
Три кита ООП
Весь мир ООП держится на трех китах: инкапсуляции, наследовании и полиморфизме.
Объединение данных и операций в одну сущность — объект — тесно связано с понятием инкапсуляции. Инкапсуляция означает, что для внутренней реализации справедлив принцип сокрытия информации, согласно которому ни программный код, ни поля не выставляются на всеобщее обозрение и не могут использоваться за пределами объекта.
В противоположность этому объекты имеют открытый интерфейс, описываемый в виде набора свойств и методов. Методы определяют поведение объекта, а свойства – его «знания», иными словами, данные.
Второй кит ООП — наследование. Этот простой принцип означает, что если вы хотите создать новый класс объектов, который расширяет возможности уже существующего класса, то нет необходимости в переписывании заново всех полей, методов и свойств. Вы объявляете, что новый класс является потомком (или дочерним классом) имеющегося класса объектов, называемого предком (или родительским классом), и добавляете к нему новые поля, методы и свойства. Процесс порождения новых классов на основе других классов называется наследованием. Новые классы объектов имеют все унаследованные признаки, так и, возможно, новые.
Третий кит — это полиморфизм. Он означает, что в производных классах вы можете изменять работу уже существующих в базовом классе методов. При этом весь программный код, управляющий объектами родительского класса, пригоден для управления объектами дочернего класса без всякой модификации. Например, вы можете породить новый класс кнопок с рельефной надписью, переопределив метод рисования кнопки.
Дата добавления: 2016-02-09; просмотров: 2629;