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