1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Properties

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

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

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

    Barmutik Гость

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

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

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

    Barmutik Гость

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

    Код:
    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. Гость

    Репутация:
    0
    а мне ведь надо чтобы вызывались еще Method1 и Method2 из Method3/Method4
     
  6. Barmutik

    Barmutik Гость

    Репутация:
    0
    Хммм.. а самому их из своих методов вызвать ?
     
  7. Гость

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

    xelaok Гость

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

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

    xelaok Гость

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

    Barmutik Гость

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

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

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