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

Вниз

class class   Найти похожие ветки 

 
cc33   (2006-11-11 16:41) [0]

TMyClass = class
 class procedure ...
end;


Зачем вообще могут понядобиться class - classoвые вызовы? Т.е. их смысл понятен -- их можно вызывать без предварительного создания класса. Но зачем такое может понядобиться? Если можно, приведите пример. Спасибо!


 
Anatoly Podgoretsky ©   (2006-11-11 16:53) [1]

> cc33  (11.11.2006 16:41:00)  [0]

Вот в этом смысле и используй


 
Anatoly Podgoretsky ©   (2006-11-11 16:54) [2]

> cc33  (11.11.2006 16:41:00)  [0]

Между прочим любой конструктор можно применять без создания объекта, но класс придется создавать, но это дизайнтайм.


 
Джо ©   (2006-11-11 19:43) [3]

> Если можно, приведите пример. Спасибо!

Классический пример — реализация шаблона (паттерна) "одиночка" (Singleton), классовый метод GetInstance.


 
Ketmar ©   (2006-11-12 00:00) [4]

в генофонде есть примеры использования. %-)


 
DrPass ©   (2006-11-12 00:30) [5]


> Но зачем такое может понядобиться? Если можно, приведите
> пример

Пример раз:
Допустим, у тебя есть класс с тысячей методов, который вычисляет трансцедентальность матрицы сознания студента-первокурсника. В этом классе есть функция умножения трех целых чисел, которую ты хочешь заюзать, при этом вычислять транцедентальность <skipped> тебе совсем незачем, равно как и создавать весь этот здоровенный объект. Делаешь ее класс-функцией, и пользуешь без создания объекта.
Пример два:
Если ксть часто повторяющиеся операции - создал объект, чего-то с ним сделал, убил объект. Сделай это в класс-процедуре, и все будет красиво сводиться к одному-единственному вызову, без всяких Create/Free. И Великий Джа тебя встретит у границы познания


 
Германн ©   (2006-11-12 02:23) [6]


> DrPass ©   (12.11.06 00:30) [5]
>
>
> > Но зачем такое может понядобиться? Если можно, приведите
> > пример
>
> Пример раз:
> Допустим, у тебя есть класс с тысячей методов, который вычисляет
> трансцедентальность матрицы сознания студента-первокурсника.
>  В этом классе есть функция умножения трех целых чисел,
> которую ты хочешь заюзать, при этом вычислять транцедентальность
> <skipped> тебе совсем незачем, равно как и создавать весь
> этот здоровенный объект. Делаешь ее класс-функцией, и пользуешь
> без создания объекта.

А просто функция "умножения трех целых чисел" не подойдёт? Вынесенная в отдельный модуль. Не привязанная ни к какому классу. Но "заюзанная" по необходимости в любом классе.


 
DrPass ©   (2006-11-12 02:28) [7]


> Германн ©   (12.11.06 02:23) [6]

Это вопрос вида "как мне лучше расставить книжки, по цвету или по авторам". Если функция по смыслу относится к предметной области класса, то ей вполне можно быть членом этого класса


 
Германн ©   (2006-11-12 02:40) [8]


> DrPass ©   (12.11.06 02:28) [7]
>
>
> > Германн ©   (12.11.06 02:23) [6]
>
> Это вопрос вида "как мне лучше расставить книжки, по цвету
> или по авторам". Если функция по смыслу относится к предметной
> области класса, то ей вполне можно быть членом этого класса
>

Спорить не собираюсь. Фл(уд)ейм не отрицаю, но и не стремлюсь. По тому как я прочитал [5] я и написАл [6].



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

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

Наверх





Память: 0.46 MB
Время: 0.058 c
5-1144509756
SaFy
2006-04-08 19:22
2006.12.03
Прозрачный Edit


6-1152878872
Comrade
2006-07-14 16:07
2006.12.03
компонент IdIRC


6-1152854738
Yeg
2006-07-14 09:25
2006.12.03
Фунция KoiToWin и сообщение с аттачем


2-1163482783
YurkaT
2006-11-14 08:39
2006.12.03
Сообщение, результата запроса, убрать


2-1163598133
КлЯкСа
2006-11-15 16:42
2006.12.03
Где можно счачать из из инета Русский help для Delphi?





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