Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Власна гілку в ієрархії класів

Реферат Власна гілку в ієрархії класів





"justify"> ЦельРекомендуемие классиІзменіть існуючий компонентЛюбой існуючий компонент (наприклад, TButton або TListBox) або клас TCustomXXXX (наприклад, TCustomListBox) Створити віконний компонентTWinControl або TCustomControlСоздать графічний компонентTGraphicControlСоздать підклас для елемента управленіяЛюбой компонент WindowsСоздать Невізуальний компонентTComponent Можна також успадковувати класи, які не є компонентами і не можуть бути поміщені на форму (наприклад, TRegIniFile і TFont). У цьому випадку ви повинні додати в клас властивості, що дозволяють йому взаємодіяти з середовищем Delphi на етапі розробки програми, тому що тільки за цієї умови новостворений клас буде компонентним класом. Взагалі, вдалий вибір батьківського класу в значній мірі спрощує проблему створення нового компонента. Пам'ятайте чудовий девіз корпорації Borland: "Не потрібно винаходити велосипед - просто наслідуйте його!".

Зміна існуючих компонентів

Найпростіший спосіб створити компонент - змінити вже існуючий. При цьому в якості батьківського класу найчастіше використовується відповідний компонентний клас або клас TCustomXXXX. Як вже зазначалося в розділі 3, класи TCustomXXXX реалізують основну функціональність відповідних компонентів, але не публікують багато їх властивості і події. Успадковувати від таких класів краще тоді, коли новий компонент повинен відрізнятися від свого попередника набором властивостей і подій. Нехай, наприклад, створюється простий компонент для відображення поточного системного часу. Для виведення текстових повідомлень добре підходить мітка TLabel. Однак вона має властивість Caption, яке для наших цілей публікувати не можна (це властивість у новому компоненті призначене тільки для виведення системного часу). Вихід з положення - успадковувати новий компонент від класу TCustomLabel і залишити властивість Caption в секції protected (саме в цій секції властивість Caption оголошується в класі TCustomLabel). Тоді в самому компоненті можна звертатися до цієї властивості, але ні в спадкоємців компонента, ні в працюючій програмі цього зробити не можна. p align="justify"> Простий компонент для відображення на формі системного часу. p align="justify"> Він ілюструє два моменти:

) Приховування властивостей, які суперечать функціональності компонента. p align="justify">) Використання в компоненті вже існуючого компонента. ================================================== =================} interfaceSysUtils, Classes, Controls, StdCtrls, ExtCtrls; type TFarClock = class (TCustomLabel) private {Private declarations} FTimer: TTimer; protected {Protected declarations} procedure UpdateClock (Sender: TObject); public {Public declarations} constructor Create (AOwner: TComponent); override; published {Published declarations} property Align;// property Caption; Чи не публікуємо це властивість! // Чи не публікуємо також кілька інших властив...


Назад | сторінка 4 з 6 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Прикладне додаток &Розробка проекту для створення нового класу Auto і елеме ...
  • Реферат на тему: Демонстраційне багатопоточний додаток з динамічною зміною властивостей вікн ...
  • Реферат на тему: Розробка демонстраційного багатопотокового додатки з динамічною зміною влас ...
  • Реферат на тему: Створення графічних компонент
  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...