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

Вниз

ООП - вызов родительской функции   Найти похожие ветки 

 
baataars   (2004-01-13 17:11) [0]

вопрос по ООП.
есть значится у родительского объекта функция называется CheckData, с ; virtual;

в конкретном потомке делаю этой функции override.

так вот - хочется в потомке сделать

function TNewObj.CheckData():Boolean;
begin
if(inherited=False)then
CheckData=False
else
CheckData=ПроверкаЛокальныхДанных;
end;

, т.е. сначала вызвать родительскую функцию и проверить что нет ошибок в общих данных, потом проверить уже от потомка.


 
Тимохов ©   (2004-01-13 17:13) [1]

И где тут вопрос?
Пиши if(inherited checkdata() =False)then
CheckData=False


 
alex_*** ©   (2004-01-13 17:15) [2]

overload; Только это будет уже не виртуальный метод


 
alex_*** ©   (2004-01-13 17:17) [3]

>есть значится у родительского объекта функция называется CheckData, с ;
- если подразумевалось что возвращается Boolean, то [2] снимается.


 
Verg ©   (2004-01-13 17:55) [4]


> function TNewObj.CheckData():Boolean;
> begin
> if(inherited=False)then
> CheckData=False
> else
> CheckData=ПроверкаЛокальныхДанных;
> end;


Ну да,
result := inherited CheckData() and ПроверкаЛокальныхДанных;


 
Serginio666   (2004-01-13 18:10) [5]

Попробуй Через
TBoolFunc=Function:Boolean of object;
Meth:TMethod;
Meth.Code=@TParentObj.CheckData;
Meth.Data=Self;
TBoolFunc(Meth)();


 
baataars   (2004-01-13 18:11) [6]

спасибо
if(inherited checkdata() =False)then
помогло.


 
Тимохов ©   (2004-01-13 18:12) [7]

Граждне вы о чем?
У человека всего лишь и было, что для функций нельзя просто писать inherited, надо inherited FuncName.


 
Александр   (2004-01-16 13:11) [8]

А зачем if?
Result := inherited CheckData() and {твое условие};


 
Ega23 ©   (2004-01-16 13:24) [9]

Кстати, для общего развития вопрос: а могу ли я зи перегруженного метода потомка вызвать не такой же метод предка, а другой?


 
Внук ©   (2004-01-16 13:44) [10]

Лично я не возражаю



Страницы: 1 вся ветка

Текущий архив: 2004.01.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
14-93655
Yegor
2004-01-07 00:42
2004.01.29
Какую мне прогу написать?


1-93420
jiurajhgjhgty
2004-01-16 19:53
2004.01.29
OleContainer и excel


1-93541
Valter
2004-01-18 00:39
2004.01.29
Listview добавление множества записей


6-93606
gs
2003-11-26 02:42
2004.01.29
Всем Hi. Подскажите можно как-нибудь переносить свои фаилы на ...


3-93391
Andriy Tysh
2003-12-30 11:16
2004.01.29
DBGridEh.SumList