Properties

Тема в разделе "Delphi - FAQ", создана пользователем -, 30 дек 2005.

Статус темы:
Закрыта.
  1. Гость

    Вопросы связанные с Properties.
    1. Как перекрыть чтение и запись property класса-родителя в классе-потомке.
    2. Что такое stored, default, nodefault, default, implements и др. "storage directives".
     
  2. Barmutik

    Barmutik Гость

    1. Просто переобъявите свойство с таким же названием и будут вызываться методы чтения и установки Вашего потомка.

    2. Stored, Default, NoDefaut - отвечают за то будет ли хранится или нет значение проперти в файле формы
    Implements - классная директива говорит о том что Вы можете указать что имплементация работы с вашим пропертем (когда эта директива установлена касательно проверти) реализована в другом классе или интерфейсе.
     
  3. Гость

    а если метод записи/чтения не объявлен как virtual или dynamic, тогда никак?
     
  4. Barmutik

    Barmutik Гость

    Ну видать Вы меня не поняли:

    Код (Text):
    type
    TAncestor = class
      ...
     property Value: Integer read Method1 write Method2;
    end;

    TDescendant = class(TAncestor)
      ...
     property Value: Integer read Method3 write Method4;
    end;
    ...
    MyObject := TDescendant.Create;
    И будут вызываться Ваши методы 3 и 4
     
  5. Гость

    а мне ведь надо чтобы вызывались еще Method1 и Method2 из Method3/Method4
     
  6. Barmutik

    Barmutik Гость

    Хммм.. а самому их из своих методов вызвать ?
     
  7. Гость

    как? они же в private секции
    похоже если метод статический, его никак не перекроешь
    вообще этой проблемой я заинтересовался когда мне надо было при присвоении Caption перерисовывать компонент, а процедура SetText оказалась статической, поэтому пришлось создать property MyCaption,а уже оттуда перерисовывать.
    Еще: SetEnabled - процедура установки активности - динамическая - поэтому я её перекрыл override, а вот с Caption так не получилось. Интересно почему SetText - статический метод?
     
  8. xelaok

    xelaok Гость

    А что за объект? У TControl'a метод SetText как виртуальный... А в чем проблема создать свое свойтсво Caption и через него использовать родительский Caption. А еще можно использовать reintroduce...
     
  9. Гость

    у меня TCustomControl.
    а вообще чем отличаются объекты с Custom и объекты без него? Например TCustomControl - TCointrol, TCustomForm - TForm и т.д.
     
  10. xelaok

    xelaok Гость

    А фиг его знает... Знаю что лучше использовать custom'ы, т.к. у них с наследованием получше...
     
  11. Barmutik

    Barmutik Гость

    Со словами custom идут базовые классы от которых потом уже надо наследоваться и релаизовавывать то что конкретно надо ...

    В этих классах содержатся только общие методы и свойства для сущностей которые они реализауют...
     
Загрузка...
Похожие Темы - Properties
  1. garrick
    Ответов:
    1
    Просмотров:
    230
Статус темы:
Закрыта.

Поделиться этой страницей