Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Borland Pascal / Объектно-ориентированное программирование /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


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

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


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


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


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


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


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


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



 8  Комментарии к статье  8  Обсудить в форуме  8  Обсудить в чате

8  В тему

Объекты

Наследование

Объекты: наследующие записи

Tехника программирования

Методы

Совмещенные код и данные

Определение методов

Объекты и модули

Инкапсуляция

Методы: никакого ухудшения

Расширяющиеся объекты

Cтатические методы

Полиморфизм

Совместимость типов объектов

Полиморфические объекты

Виртуальные методы

Вызов виртуальных методов

Статические или виртуальные методы?

Динамические объекты

Размещение и инициализация

Удаление динамических объектов

Деструкторы

Пример размещения объекта

Что же дальше?

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь