begin TObject.Create

DoSomething

Do Some th ingE1s e;
end;

Поскольку мы говорим, который из Create мы вызываем, компилятор счастлив, а оригинальный Create метод полностью доступен. Метод замещения - не то же самое, что выстрелить в голову и похоронить навечно. Подобным образом вы можете предварять вызов "старого" метода оператором, который, возможно, изменит некоторые начальные условия, ожидаемые старым методом, и затем вызывайте старый метод.

Синтаксический механизм, которым вы замещаете методы, ограничен по отношению к методам Вы можете заместить любой метод, который вы наследуете из любого класса по всему иерархическому дереву. Поля, тем не менее, не могут быть замещены, и если уже поле с определенным именем определено в классе, то никакое наследуемое из этого класса пс ле не может имс т ь такое же имя. И зменение способа, посредством которого используется данное поле, требует значительного мастерства, и пока вы неуверенно чувствуете себя в объектно-ориентированном программировании, я бы не советовал вам делать это.

Очевидно, перед тем, как вы станете замещать любой существующий метод, было бы лучше, если бы вы уверились, что птностъю поняли, что делает этот метод. Можно было бы еще многое рассказать об импликации наследования и возможностях замещения унаследованных методов. Но я не собираюсь так далеко заходить в этой книге, так как было бы полезно, чтобы это было сделано в контексте иерархии классов Delphi, и существует еще много чего, что следует изучить о классах Delphi, и чего я не в состоянии описать в этой книге. Я, в основном, хочу, чтобы вы поняли, что существует такое понятие, как наследование, и до некоторой степени понимали, что это означает. И чтобы сделать это, нам надо умозрительно взглянуть на последний значительный трюк объектов, спрятанный у них в рукаве: полиморфизм.

ПОЛИФОРМИЗМ: ДЕЛАЮЩИЙ ВСЕ ПО-СВОЕМУ

Ядром общего понятия объектов как "активных данных" является сказать кому-нибудь сделать что-нибудь (это не то же самое, что - сказать, как сделать это что-то). Цель определения объектов - создание некоторого программного робота, который одновременно содержит данные и знает как манипулировать ими. Это очень полезно при создании моделей данных реального мира обработки данных, как мы выяснили это, когда создавали объект закладных в конце Главы 8.

Если активные данные "знают как" сделать что-то, вам не надо говорить, как им сделать свою работу. Но активные данные ведут к другим последствиям, которые не так очевидны: если объекты, как активные данные, знают как делать свою работу, то вы-то не знаете даже какой тип объекта получить, чтобы произвести что-то полезное. Обобщенные инструкции могут приводить к специфическим результатам - это трудно уловимая половина Грандиозного Проекта Delphi и обратная сторона возможности наследования.

Существует очень хитрое понятие. Для начала, я лучше вернусь немного назад.

Теперь жатва вашего урожая!"

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


⇐ Предыдущая страница| |Следующая страница ⇒

Программирование в среде Delphi



Новости за месяц

  • Декабрь
    2021
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31