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

Вниз

И снова про вызовы функций-членов   Найти похожие ветки 

 
Набережных С.   (2002-03-27 20:04) [9]


> Толик © (27.03.02 17:45)

Это как раз то, что написали MBo © (27.03.02 17:37) и vuk © (27.03.02 17:21).

TMyClass = class...
function MyFunction...;virtual;abstract;

Наследуешь классы от него и в них перекрываешь MyFunction. Массив, например, такой(или любой другой):
MyObjArray : array of TMyClass;
Заполняешь массив потомками TMyClass и вызываешь такую процедуры:

procedure MyEnumProc(A: array of TMyClass);
var
n:integer;
begin
for n:=0 to Length(A)-1 do
A[n].MyFunction...
end;

Для каждого объекта будет вызван метод именно его класса или унаследованный, если в классе он не переопределен. В этом и состоит смысл виртуальных и динамических методов.
А создавать экземпляры классов с абстрактными методами не следует. Никогда.



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

Форум: "Основная";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.16 c
1-32801
B_A_V
2002-04-01 10:05
2002.04.11
Строка кода больше 255 символов, как быть?


3-32668
DeLz
2002-03-20 12:39
2002.04.11
функция BDE - dbiAddAlias


1-32758
Random
2002-03-30 18:30
2002.04.11
Указатели


1-32759
lipskiy
2002-03-30 20:14
2002.04.11
Сложный вопрос-предложение. Помогите включить поддержку кириллицы


3-32661
AndDem
2002-03-18 16:31
2002.04.11
SQL-запрос. Проблема с пониманием возможностей SQL.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский