TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

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

             Большая часть из того,  что говорилось об  объектах  до  сих
        пор,  исходит  из удобств и перспектив Borland Pascal,  поскольку
        наиболее вероятно,  что это именно то,  с чего вы начнете. Теперь
        начнутся  изменения,  поскольку  мы  подошли к концепциям объект-
        но-ориентированного программирования с помощью некоторых  принци-
        пов программирования на стандартном Паскале.  Объектно-ориентиро-
        ванное программирование имеет свое собственное отдельное множест-
        во понятий,  частично благодаря началам объектно-ориентированного
        программирования (до некоторой степени  ограниченным)  в  научных
        кругах,  однако  также и потому,  что эта концепция действительно
        является радикально отличной от других.

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

             Одним, часто забавным, следствием этого явилось то, что объ-
        ектно-ориентированное  программирование  фанатично   "одушевляет"
        свои объекты. Отныне данные для вас не емкости, которые вы можете
        наполнять значениями. С точки зрения нового взгляда на вещи, объ-
        екты  выглядят  как  актеры на подмостках со множеством заученных
        ролей (методов). Если вы (директор) даете им слово, то актеры на-
        чинают декламировать в соответствии со сценарием.

             Было бы  полезно  представить  функцию AnHourly.GetPayAmount
        как,  например,  дающую распоряжение объекту AnHourly  "Вычислить
        размер вашей ежедневной платы".  Центральной концепцией здесь яв-
        ляется объект.  Этот объект обслуживают как список методов, так и
        список полей данных,  содержащихся в объекте. И ни код, ни данные
        не являются здесь "директором".

             Чтобы быть совсем привлекательным, объект не может быть опи-
        сан  как актер на сцене.  Образцу объектно-ориентированного прог-
        раммирования с большим трудом удается  моделировать  составляющие
        проблемы как компоненты,  а не как логические абстракции. Случай-
        ности и закономерности,  наполняющие нашу жизнь (от  тостеров  до
        телефонных звонков по поводу махровых полотенец) все имеют харак-
        теристики (данные) и  линии  поведения  (методы).  Характеристики
        тостера могут включать требуемое напряжение,  число гренок, кото-
        рые он может поджарить одновременно,  установку слабого или силь-

         B.Pascal 7 & Objects /UG   - 210 -

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

             Если мы хотим написать программу имитации кухни, то какой же
        имеется  наилучший способ смоделировать различные приспособления,
        кроме объектов,  с их характеристиками и линиями поведения, зако-
        дированными в поля данных и в методах? Фактически, это уже сдела-
        но:  один из первых объектно-ориентированных  языков  (Симула-67)
        был создан как язык для написания таких имитаций.

             Есть также причина того,  что объектно-ориентированное прог-
        раммирование довольно крепко связано в традиционном смысле с ори-
        ентированной  на построение графиков средой.  Объекты должны быть
        моделями, и есть ли лучший способ смоделировать объект, чем нари-
        совать его изображение?  Объекты в Borland Pascal должны имитиро-
        вать компоненты проблему, которую вы пытаетесь разрешить. Примите
        это  во  внимание,  если в дальнейшем вы намерены эксплуатировать
        новые объектно-ориентированные расширения Borland Pascal.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

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

Hosted by uCoz