Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
ВнизИзвлечение интерфейса и свойство, обращающееся к полю Найти похожие ветки
← →
Kolan © (2006-10-17 15:17) [0]Здравствуйте,
Есть класс
TROMPackage = class(TCustomPackage)
private
FPackageNumber: Byte;
public
property PackageNumber: Byte read FPackageNumber write FPackageNumber;
end;
Хочу сделать извлечение интерфейса. ТеIROMPackage = interface
property PackageNumber: Byte read FPackageNumber write FPackageNumber;
end;
Ессно ругается, так как не знает интерфейс о полях.
Как исправить?
1. Можно использовать методы доступа: вместоread FPackageNumber
-read GetPackageNumber
. Но мне эти методы не нужны в них будет просто обрашение к полям, а если св-в много, то соответственно и методов х2.
2. Может можно в интерфйсе прото указать что есть св-во с таким именем без указания read/write. Как-то так:IROMPackage = interface
property PackageNumber: Byte;
end;
Ессно это не компилиться.
← →
Ketmar © (2006-10-17 15:19) [1]нельзя. нет в интерфейсах "полей". есть только методы.
← →
Percent (2006-10-17 15:19) [2]Но мне эти методы не нужны
Тебе, может, и не нужны... но придется.
← →
palva © (2006-10-17 15:20) [3]Что такое извлечение интерфейса?
В интерфейсе не бывает свойств.
← →
Сергей М. © (2006-10-17 15:21) [4]
> Как исправить?
Указать методы.
← →
Kolan © (2006-10-17 15:22) [5]
> нет в интерфейсах "полей"
Понятно что нет. Так как-нибудь написать, чтобы все равно как реализовать read /write. Те интерфейс какой-то такой:IROMPackage = interface
property PackageNumber: Byte;
end;
А реализация чтобы хош такия:property PackageNumber: Byte read FPackageNumber write FPackageNumber;
Хош такакая:property PackageNumber: Byte read GetPackageNumber writeSetPackageNumber;
← →
Percent (2006-10-17 15:22) [6]Что такое извлечение интерфейса?
...очередной флейм на 150 постов обеспечен...
← →
Ketmar © (2006-10-17 15:22) [7]право же, накладные раходы на вызов метода пренебрежимо малы. тем более на современных процессорах. не будет это ощутимо медленней простого разыменования.
← →
Kolan © (2006-10-17 15:22) [8]
> Что такое извлечение интерфейса?
> В интерфейсе не бывает свойств.
>
Extract Interface - рефакторинг(его метод)
В интерфейсе не бывает свойств.
Угу, бывают.
← →
Ketmar © (2006-10-17 15:22) [9]>[6] Percent 17-Oct-2006, 15:22
>...очередной флейм на 150 постов обеспечен...
и ты его тоже поддерживаешь подобными высказываниями. %-))
← →
Percent (2006-10-17 15:23) [10]Kolan © (17.10.06 15:22) [5]
Тпру-у-у... Тебе сказали, что нельзя? К чему все эти поиски черных кошек в темных комнатах?
← →
Kolan © (2006-10-17 15:23) [11]
> Указать методы.
Ну до этого я и сам дошел :)
← →
Ketmar © (2006-10-17 15:25) [12]>[11] Kolan(c) 17-Oct-2006, 15:23
>Ну до этого я и сам дошел :)
и всё. завязывай флудить. по буквам:
Н
Е
Л
Ь
З
Я
dixi.
← →
Kolan © (2006-10-17 15:25) [13]
Since an interface has no fields, property read and write specifiers must be methods.
Все пошел делать методы :(
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.041 c