Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
1-93577
новичок_из_сыктывкара
2004-01-17 07:18
2004.01.29
надо сделать дерганье мышки за пределами главной формы


1-93427
lhs7fy
2004-01-15 16:14
2004.01.29
Положение курсора над компонентом


3-93401
Владий
2003-12-29 18:08
2004.01.29
Помогите с форматом запроса


1-93500
sohat
2004-01-19 09:15
2004.01.29
как поменять кодировку в TMemo?


3-93336
Egorka
2003-12-29 06:06
2004.01.29
- проблема с импортированием





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский