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

Вниз

Обьясните что это означает   Найти похожие ветки 

 
qwe   (2003-10-28 14:14) [0]

type
TExporter=class
public
class function ExporterName: string; virtual; abstract;
end;


 
Малиновский Владимир   (2003-10-28 14:16) [1]

Здесь говорится, Вы можете самостоятельно реализовать функцию с именем ExporterName, возвращающую строку. А если Вы этого не сделаете, то при обращении к функции с таким именем получите исключение "Abstract Error"


 
Anatoly Podgoretsky   (2003-10-28 14:18) [2]

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


 
qwe   (2003-10-28 14:18) [3]

что означает слово class перед функцией


 
Anatoly Podgoretsky   (2003-10-28 14:19) [4]

Метод класса, для работы не требуется объект


 
Skier   (2003-10-28 14:21) [5]

>qwe (28.10.03 14:18) [3]
1)
Иногда такой функцией можно пользоваться не создавая экз-ра класс. Но к абстрактной ф-ции это не относится !

2) В теле этой функции Self будет указывать не на экз-р класса,
а на сам класс. Но к абстрактной ф-ции это тоже не относится !


 
Vuk   (2003-10-28 14:29) [6]

>Но к абстрактной ф-ции это не относится !
Это как?


 
qwe   (2003-10-28 14:31) [7]

function ClassManager: TList;

implementation
var
Manager: TList;

function ClassManager: TList;
begin
Result:=Manager;
end;

разве функция может быть экземпляром класса


 
Skier   (2003-10-28 14:32) [8]

>Vuk © (28.10.03 14:29) [6]
Абстрактные ф-ции вызывал когда-нибудь ?


 
qwe   (2003-10-28 14:33) [9]

нет


 
Skier   (2003-10-28 14:34) [10]


> разве функция может быть экземпляром класса

Не функция, а то что она возвращает.

и Manager, наверняка создаётся в initialization секции модуля. Нет ?


 
qwe   (2003-10-28 14:35) [11]

да именно так


 
Skier   (2003-10-28 14:36) [12]

>qwe (28.10.03 14:35) [11]
Ну и в чём проблема ? :)


 
vuk   (2003-10-28 14:37) [13]

>Абстрактные ф-ции вызывал когда-нибудь ?
А то ж! :o) Только как понимать

>такой функцией можно пользоваться не создавая экз-ра класс.

в сочетании с

>Но к абстрактной ф-ции это не относится !

Это у Вас получается, что функцию класса, если она абстрактная, нельзя вызывать без создания экземпляра... :o)


 
qwe   (2003-10-28 14:38) [14]

начинаю понемногу доходить,а есть ссылка почитать про virtual и abstract?


 
Skier   (2003-10-28 14:41) [15]

>vuk © (28.10.03 14:37) [13]
Да. Перемудрил я. :)


 
vuk   (2003-10-28 14:42) [16]

to qwe:
Все просто. Если виртуальный метод помечен как абстрактный, то у него отсутствует реализация и попытка его вызова приведет к ошибке.


 
Skier   (2003-10-28 14:44) [17]

>qwe (28.10.03 14:38) [14]
Посмотри на класс TStrings и его потомок TStringList
Будет полезно...


 
zapped   (2003-10-28 14:45) [18]

2qwe (28.10.03 14:38) [14]
F1


 
Anatoly Podgoretsky   (2003-10-28 14:45) [19]

Попытка вызова у базового класса, но нормально для наследников, если конечно метод реализован.


 
vuk   (2003-10-28 14:47) [20]

Ну естественно. Они ж в потомках будут помечены override. :o)



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

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

Наверх





Память: 0.48 MB
Время: 0.03 c
6-41849
Michael_X
2003-09-12 10:30
2003.11.13
Определение удалённой ОС.


14-41969
Думкин
2003-10-20 04:51
2003.11.13
С днем рождения! 18 октября.


14-42101
Dmitriy O.
2003-10-10 10:59
2003.11.13
Принципиально Абсолютное скрытие процесса


1-41594
qwe
2003-10-27 09:48
2003.11.13
Что такое *.dpk и как с ним работать


3-40846
Alex-kosmonavt
2003-10-21 16:43
2003.11.13
Как удалить





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