Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
14-1100847662
MBo
2004-11-19 10:01
2004.12.12
Пятница. Возвращение Васи Пупкина и другие задачки ;)


14-1101389497
Dima_K
2004-11-25 16:31
2004.12.12
Помогите.вопрос по математике


9-1092055159
john black
2004-08-09 16:39
2004.12.12
Пример Jan Horn-a + Космос


3-1100244981
lightix
2004-11-12 10:36
2004.12.12
Сжать DBF


3-1100382640
kirilllius
2004-11-14 00:50
2004.12.12
Размер Access и JPEG





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