Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
ВнизОбъявление процедур Найти похожие ветки
← →
Dush (2004-11-26 15:42) [0]Доброго времени суток!
Чем отличается объявление глобальной процедуры/функции (в разделах private/public) от объявления внутри процедуры/функции:
Procedure Proc1;
Procedure Proc2;
begin
end;
begin
end;
← →
Reindeer Moss Eater © (2004-11-26 15:45) [1]тем, что первые - это методы класса, а вторые - просто процедуры и функции
← →
TUser © (2004-11-26 15:46) [2]1. Тем, что к глобальной процедере имеет доступ кто угодно, а к локальной можно обратиться только из той процедуры, для которой она локальная. Ну, не кто угодно - это я слегка загнул, конечно
2. Тем, что локальная процедура имеет доступ ко всем переменным процедуры более высокого уровня (и еще более высокого и т.д.), если они не перекрыты ее локальными переменными (кроме использования для цикла for).
3. Некоторые считают, что объявление процедуры внутри другой процедуцры снижает читабельность кода. Мое лючное мнение - не снижает, если не доводить это дело до абсурда.
← →
begin...end © (2004-11-26 15:47) [3]
> Dush (26.11.04 15:42)
> Чем отличается объявление глобальной процедуры/функции (в
> разделах private/public)
Что Вы понимаете под глобальной процедурой/функцией?
> от объявления внутри процедуры/функции:
Proc2 не будет видна за пределами Proc1.
← →
TUser © (2004-11-26 15:47) [4]Извини, не заметил про private/public.
← →
Dush (2004-11-26 15:57) [5]а скорость вызова и работы обоих вариантов одинакова?
← →
Digitman © (2004-11-26 16:07) [6]
> Dush (26.11.04 15:57) [5]
> а скорость вызова и работы обоих вариантов одинакова?
считай что различий нет.
область видимости чего-о там - гораздо более важный фактор.
← →
Anatoly Podgoretsky © (2004-11-26 16:13) [7]Dush (26.11.04 15:57) [5]
Нет смысла сравнивать скорость, для метода и отдельной процедуры.
← →
Ken (2004-11-26 16:13) [8]
> (в разделах private/public)
если private, то твоя процедура видна только внутри класса
если public, то видна и за пределами класса тоже.
Ето косаеться не только процедур, а всего что можно обьявить (методы, свойства, поля, события .......)
← →
Digitman © (2004-11-26 16:32) [9]
> Ken (26.11.04 16:13) [8]
ну ведь галиматью же городишь ! и человека с панталыку сбиваешь !
спецификаторы областей видимости "pivate!", "protected", "public", "published" применимы и имеют смысл ТОЛЬКО в контексте декларации КЛАССА.
А в этом контексте нет и быть не может речи о традиционных для процедурного прогр-я "процедурах" и "функциях" : речь в этом контексте идет о МЕТОДАХ класса ! А то что методы м.б. процедурными или функциональными - иной вопрос.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.04 c