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

Я сделал подобную схему на Рисунке 10.1. Просмотрите ее внимательно. Чувствуете ли вы природу континуума сверху-вниз? Это шкала от абстрактного наверху к спепифи-чексому внизу.

Сейчас программирование являтся искусством, ориентированным на результат, которое делает ударение на полезности. Многих людей, тем не менее, волнует вопрос концептуализации, насколько что-то могло бы быть "абстрактным компонентом" Вернемся в 1959 год, к голым белым заготовкам, из которых мы делали Рождественские елочки (или космические корабли). И теперь рассмотрим в Delphi класс объектов TPersistent. Класс объектов TPersistent является некоторым видом класса просмотра. Он имеет механизм, который позволяет переносить его файл .ЕХЕ на диске в программу, если она запущена на выполнение. Больше он ничего не имеет.

Программирование в среде Delphi
Рис. 10.1 Распределение функциональных возможностей вдоль иерархии объектов.

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

Здесь приходит на ум вопрос: "Что все это?" Чем является объект класса TPersistent? Так как он потомок класса TObject, это TObject, следовательно это составная часть Грандиозного Проекта в Delphi. Но это также и устойчивый объект. Устойчивый объект - это такой объект, который может быть записан на диске, а затем - перенесен обратно со всеми его методами и полями. Когда вы создаете новую форму и сохраняете ее на диске, это может случиться, потому что форма "знает как" записать себя из файла .ЕХЕ приложения, а потом снова вернет себя назад, когда приложение будет выполняться. Ваша форма в состоянии сделать это, так как она происходит от TPresistent. Это делается там, где она получила механизм, с помощью которого она записывает себя в файл ЕХЕ и снова считывает себя. Это остается верным для всех компонентов, которые вы добавляете к своей форме. Кнопки, панели, окна редактирования, метки - все они являются происходящими от TPresistent. Когда ваши приложения загружаются, они также знают - как вернуть себя обратно на диск. Все эти компоненты разные, и в общем, они еще больше могут отличаться друг от друга. Тем не менее, все они имеют общую возможность записывать себя в файлы ЕХЕ ваших приложений во время компиляции и читать себя из файлов .ЕХЕ ваших приложений во время выполнения


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

Программирование в среде 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