Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Руководство по Borland Pascal.doc
Скачиваний:
106
Добавлен:
02.05.2014
Размер:
2.05 Mб
Скачать

Программирование в "действительном залоге"

Большая часть из того, что говорилось об объектах до сих

пор, исходит из удобств и перспектив Borland Pascal, поскольку

наиболее вероятно, что это именно то, с чего вы начнете. Теперь

начнутся изменения, поскольку мы подошли к концепциям объект-

но-ориентированного программирования с помощью некоторых принци-

пов программирования на стандартном Паскале. Объектно-ориентиро-

ванное программирование имеет свое собственное отдельное множест-

во понятий, частично благодаря началам объектно-ориентированного

программирования (до некоторой степени ограниченным) в научных

кругах, однако также и потому, что эта концепция действительно

является радикально отличной от других.

Примечание: Объектно-ориентированные языки однажды ме-

тафорично назвали "языками актеров".

Одним, часто забавным, следствием этого явилось то, что объ-

ектно-ориентированное программирование фанатично "одушевляет"

свои объекты. Отныне данные для вас не емкости, которые вы можете

наполнять значениями. С точки зрения нового взгляда на вещи, объ-

екты выглядят как актеры на подмостках со множеством заученных

ролей (методов). Если вы (директор) даете им слово, то актеры на-

чинают декламировать в соответствии со сценарием.

Было бы полезно представить функцию AnHourly.GetPayAmount

как, например, дающую распоряжение объекту AnHourly "Вычислить

размер вашей ежедневной платы". Центральной концепцией здесь яв-

ляется объект. Этот объект обслуживают как список методов, так и

список полей данных, содержащихся в объекте. И ни код, ни данные

не являются здесь "директором".

Чтобы быть совсем привлекательным, объект не может быть опи-

сан как актер на сцене. Образцу объектно-ориентированного прог-

раммирования с большим трудом удается моделировать составляющие

проблемы как компоненты, а не как логические абстракции. Случай-

ности и закономерности, наполняющие нашу жизнь (от тостеров до

телефонных звонков по поводу махровых полотенец) все имеют харак-

теристики (данные) и линии поведения (методы). Характеристики

тостера могут включать требуемое напряжение, число гренок, кото-

рые он может поджарить одновременно, установку слабого или силь-

ного уровней поджаривания, цвет тостера, его фабричную марку и т.

д. Его поведение может включать загрузку кусков хлеба, поджарива-

ние этих кусков и автоматическое выталкивание готовых гренок на-

ружу.

Если мы хотим написать программу имитации кухни, то какой же

имеется наилучший способ смоделировать различные приспособления,

кроме объектов, с их характеристиками и линиями поведения, зако-

дированными в поля данных и в методах? Фактически, это уже сдела-

но: один из первых объектно-ориентированных языков (Симула-67)

был создан как язык для написания таких имитаций.

Есть также причина того, что объектно-ориентированное прог-

раммирование довольно крепко связано в традиционном смысле с ори-

ентированной на построение графиков средой. Объекты должны быть

моделями, и есть ли лучший способ смоделировать объект, чем нари-

совать его изображение? Объекты в Borland Pascal должны имитиро-

вать компоненты проблему, которую вы пытаетесь разрешить. Примите

это во внимание, если в дальнейшем вы намерены эксплуатировать

новые объектно-ориентированные расширения Borland Pascal.

Назад | Содержание | Вперед

  [an error occurred while processing this directive]

[an error occurred while processing this directive]

Соседние файлы в папке Delphi