• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Properties

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

Barmutik

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

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

Guest

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

Barmutik

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

Код:
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
 
G

Guest

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

Barmutik

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

Guest

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

xelaok

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

Guest

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

xelaok

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

Barmutik

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

В этих классах содержатся только общие методы и свойства для сущностей которые они реализауют...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!