Объекты
Посмотрите вокруг себя... и вы обнаружите яблоко, которое вы купили к завтраку. Допустим, что вы намерены описать яблоко в терминах программирования. Первое, что вы, возможно, попытаетесь сделать, так это рассмотреть его по частям; пусть S представляет площадь кожуры, J представляет содержащийся в яблоке объем жидко- го сока, F представляет вес фрукта внутри кожуры, D - число семе- чек...
Не думайте таким образом. Думайте как живописец. Вы видите яблоко и вы рисуете яблоко. Изображение яблока не есть само ябло- ко. Оно является символом на плоской поверхности. Но оно не может быть абстрагировано в несколько чисел, каждое из которых располо- жено отдельно и независимо где-нибудь в сегменте данных. Его ком- поненты остаются вместе в их существенной взаимосвязи друг с дру- гом.
Объекты моделируют характеристики и поведение элементов ми- ра, в котором мы живем. Они являются окончательной абстракцией данных.
Примечание: Объекты содержат вместе все свои характе- ристики и особенности поведения.
Яблоко можно разрезать на части, но как только оно будет разрезано, оно больше не будет яблоком. Отношения частей к целому и взаимоотношения между частями становятся понятнее тогда, когда все содержится вместе в одной упаковке. Это называется инкапсуля- цией и является очень важным понятием. Немного позже мы к нему вернемся.
Не менее важным является и тот факт, что объекты могут нас- ледовать характеристики и поведение того, что мы называем порож- дающие, родительские объекты (или предки). Здесь происходит ка- чественный скачок: наследование, возможно, является сегодня единственным самым крупным различием между обычным программирова- нием на Паскале и объектно-ориентированным программированием в Borland Pascal.