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

Вниз

Publik & Private   Найти похожие ветки 

 
Ell   (2004-01-28 15:05) [0]

Уважаемые мастера обьясните пожалуйста когда процедуры и функции лучше ложить в раздел Publik, а когда в Private, а когда вообще лучше не куда не ложить


 
YuRock   (2004-01-28 15:09) [1]

Лучше ничего никуда не ложить, а лежать на диване и смотреть футбол по ящику.

А если серьезно - то "ложить" лучше туда, куда удобно и красиво


 
alex_***   (2004-01-28 15:10) [2]

сначала все кладешь в private. Если будут проблемы, то нужные процедуры по одной выкладываешь в public.


 
Тимохов   (2004-01-28 15:11) [3]

Никто не хочет прочесть бесплатную лекция коротенько (минут на 40) о ООП?


 
Тимохов   (2004-01-28 15:12) [4]


> сначала все кладешь в private. Если будут проблемы, то нужные
> процедуры по одной выкладываешь в public.

Да...
Если лОжить все в прайвет (особо не думая), и пользоваться Вашим методом, то все в итоге будет в паблик...


 
alex_***   (2004-01-28 15:32) [5]

ну блин, зачем все буквально воспринимать? Если человек хоть немного понимает для чего сделаны секци public и private, то по мере возникновения ошибки "Undeclared identifier: ххх" нужные методы, по идее,должны перейти в public.


 
Тимохов   (2004-01-28 15:36) [6]


> Если человек хоть немного понимает

Понимал бы, не спрашивал.


 
alex_***   (2004-01-28 15:42) [7]

Может быть. Душа другого человека - потемки.
кстати по поводу а когда вообще лучше не куда не ложить.
Если не знаешь зачем это нужно, лучше вообще никуда не ложить.


 
Palladin   (2004-01-28 16:31) [8]

верно... никуда ничего не ложить, а просто почитать чем эти две секции отличаются... заодно вычитать про protected и published... решение придет само собой...


 
Ell   (2004-01-29 14:59) [9]

2 Palladin ©

Может ссылочку дадите где почитать, чтоб кратко и понятненько было


 
Плохиш   (2004-01-29 15:08) [10]


> Ell (29.01.04 14:59) [9]
> 2 Palladin ©
>
> Может ссылочку дадите где почитать, чтоб кратко и понятненько
> было

Ну что, все получили?


 
Palladin   (2004-01-29 15:26) [11]


> Ell (29.01.04 14:59) [9]

Поисковые и справочные системы еще никто не отменял...


 
TUser   (2004-01-29 15:45) [12]

Если у тебя Delphi установлена - то про private читать в справке. А про publik и лОжание - даже не знаю ... ^))


 
Anatoly Podgoretsky   (2004-01-29 16:09) [13]

Лучше определяется задачей, а назначение понятно из названия, кроме того справка это ххорошо описывает.


 
Ell   (2004-01-30 06:34) [14]

>Лучше определяется задачей
Вот я у вас и спрашиваю:-
>Уважаемые мастера обьясните пожалуйста когда процедуры и функции лучше ложить в раздел Publik, а когда в Private

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


 
Anatoly Podgoretsky   (2004-01-30 09:02) [15]

Есть, задачей определяется, но приоритеты такие Private/Protected/Public/Published + Implementation + Local если собо жестко надо.


 
alex_***   (2004-01-30 09:16) [16]

Блин. Давно бы уже статейку причитал по этому поводу.

Раздел public нужен для доступа к полям/методам класса извне. Интерфейсная часть для управления объектом. Передается по наследству всем потомкам.

Раздел private для внутренних полей/методов, которые используются только внутри этого класса для внутренних целей. Не доступен извне и наследникам.

Раздел protected доступен для наследников и недоступен извне. Делается для дальнейшего развития иерархии объектов.

Раздел published похож на раздел public. Сюда записываются свойства и евенты для отображения в инспекторе объектов.

Примерно так. В книжках еще можно прочитать про виртуальные функции.


 
Тимохов   (2004-01-30 11:47) [17]


> Раздел private для внутренних полей/методов, которые используются
> только внутри этого класса для внутренних целей. Не доступен
> извне и наследникам.

Хочется добавить, что в рамках одного модуля дельфи положить на все эти директивы - доступать можно до чего угодно, даже до private. В этом вроде как дельфи сильно разниться с СИ.


 
alex_***   (2004-01-30 11:54) [18]

и от принципов ООП


 
Тимохов   (2004-01-30 12:17) [19]


> и от принципов ООП

Хотя, очень удобно.

Дельфи вообще сильно отходит о принципов правильного программирования - в данном случае это приемущество дельфи.


 
alex_***   (2004-01-30 12:23) [20]

Правильность отхода от стандарта - вопрос сложный и полезность этой особенности сомнительна, на мой взгляд.


 
Тимохов   (2004-01-30 12:29) [21]

Главное, гибкость и удобство.
Хотя, это, возмножно, тема для "Потрепаться".


 
Anatoly Podgoretsky   (2004-01-30 12:34) [22]

alex_*** © (30.01.04 12:23) [20]
Стандарт вроде бы не распространяется на классы и ООП.


 
TUser   (2004-01-30 14:09) [23]

Что такое стандарт ООП? Кто его видел/писал/читал? В каждом языке есть свои правила, везде они немного различаются. Можно объявить стандартом подходов ко всем мыслемым проблемам программирования те решения, которые приняты в object pascal, тогда си останется на задворках галактики.


 
alex_***   (2004-01-30 14:20) [24]

давайте не будем флейм разводить. Тыщу раз говорили на эту тему что лучше/хуже - и тыщу раз приходили к тому что главое это хорошо спланированный проект и профессионализм разработчиков.
Ну а то что к секции private другого объекта можно запросто получить доступ, противоречит любым принципам ООП.



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

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

Наверх





Память: 0.5 MB
Время: 0.008 c
11-29287
BelchonokH
2003-05-23 21:21
2004.02.10
ListView


1-29373
AntonSh
2004-01-29 10:50
2004.02.10
Работа с файлами


1-29400
Navi
2004-01-20 18:08
2004.02.10
Нескролируемые колонки в StringGrid-е


7-29625
kast
2003-11-25 12:09
2004.02.10
opc-client


14-29555
barby
2004-01-21 09:16
2004.02.10
Словарь сокращений





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