Это имеет смысл в определенных приложениях, и если вы ожидаете, что природа данных в классе может в будущем потребовать изменений, вы можете "отделить" их от внешнего мира, разрешив к ним доступ лишь через некоторый набор методов. Оборотной стороной этого является то, что вызов каждого метода отнимает немного времени и немного пространства, а в большинстве программ это приводит к переполнению. Таким образом, Delphi является компромиссом и предоставляет вам полную свободу действий по созданию собственных классов объектов. Если вы захотите, то можете создать серьезные приватные данные классов, или же можете сделать так, как я сделал в TMortgage, и попросту позволить любому желающему обращаться к полям непосредственно.

Та же философия используется большинством основных современных объектно-ориентированных языков, включая С++ и Object Pascal в 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