Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.05;
Скачать: CL | DM;

Вниз

Извлечение интерфейса и свойство, обращающееся к полю   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.074 c
15-1160997723
DillerXX
2006-10-16 15:22
2006.11.05
Лобанов Александр - "Жестокая Голактика"


3-1157410788
Strech
2006-09-05 02:59
2006.11.05
фильтр по датам в Access


11-1137435264
Vladimir Kladov
2006-01-16 21:14
2006.11.05
RefInc / RefDec - пора разобраться


2-1161456513
Ekzot
2006-10-21 22:48
2006.11.05
Real в Int


2-1161234460
zoo2
2006-10-19 09:07
2006.11.05
"begin;" и "begin"