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

Вниз

Видимость переменных из private.   Найти похожие ветки 

 
Riply ©   (2006-10-28 09:59) [0]

Доброе утро!
У меня есть unit, где собраны мои супер - пупер классы.
Он сильно разросся и стало неудобно работать.
Решила его разбить на несколько юнитов по тематике,
но столкнулась с такой проблемой:
находясь в другом юните, потомок не видит private
полей родителя. Как это можно исправить ?
Или забыть о "наведениии порядка" ?
P.S. делать их public очень не хочеться :((


 
MBo ©   (2006-10-28 10:06) [1]

>Как это можно исправить ?
Не нужно это исправлять, надо правильнее спроектировать


 
Riply ©   (2006-10-28 10:12) [2]

> [1] MBo ©   (28.10.06 10:06)
Я понимаю, что "надо правильнее спроектировать", но вот
не знаю как. :( Поэтому и спрашиваю :)


 
ЮЮ ©   (2006-10-28 10:33) [3]

добавить protected свойства для доступа к эти полям


 
Anatoly Podgoretsky ©   (2006-10-28 10:54) [4]

Судя по словам private/public у тебя не переменные, а поля, в этом случае оформи их как свойства.

private
  FField: type;
public/published
  propery Field: type read FField write FField; //или Set процедура, если хочешь контролировать запись
end;


 
Riply ©   (2006-10-28 11:19) [5]

Спасибо !
P.S. Люблю, когда "в доме порядок" :)


 
Ketmar ©   (2006-10-28 14:41) [6]

вообще, лучше запомнить, что "чужаки" не должны иметь доступ к полям. это "некомильфо". надо кому-то показать -- делай метод или свойство (или и то, и другое %-).


 
vidiv ©   (2006-10-28 20:39) [7]


> Решила его разбить на несколько юнитов по тематике,
> но столкнулась с такой проблемой:
> находясь в другом юните, потомок не видит private


Мне кажется, что неправильно разбила? =)


 
Anatoly Podgoretsky ©   (2006-10-28 21:29) [8]

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


 
vidiv ©   (2006-10-28 21:33) [9]


> Anatoly Podgoretsky ©   (28.10.06 21:29) [8]

Это вы мне?


 
Anatoly Podgoretsky ©   (2006-10-28 21:40) [10]

Тебе, ты же про правильное разбиение говоришь, других вроде не видать.


 
vidiv ©   (2006-10-28 21:58) [11]

У VCL, например, таких проблем нет... Да и у меня тоже!!! При проектировани Родительского класса думать ж нужно, понадобится переменная или метод для потомков или нет!!!


 
MsGuns ©   (2006-10-28 22:38) [12]

Такая ситуация в 90% следствие концептуальной ошибки в проектировании.
Советую перед кодированием "кучи супер-пупер классов" строить на бумаге иерархическую модель объектов. Как, например, это сделано в самом VCL


 
Ketmar ©   (2006-10-28 22:53) [13]

>[12] MsGuns(c) 28-Oct-2006, 22:38
>строить на бумаге иерархическую модель объектов. Как,
>например, это сделано в самом VCL
ой. а сканы исторических документов есть в сети? я серьёзно.



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

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

Наверх





Память: 0.47 MB
Время: 0.045 c
15-1161437086
dj0n
2006-10-21 17:24
2006.11.12
Работа с Jpg и с DBImage


2-1161706496
vegarulez
2006-10-24 20:14
2006.11.12
Как в messagebox поместить string?


15-1161870493
ArtemESC
2006-10-26 17:48
2006.11.12
Синдром приобретенного иммунодефицита и демография...


4-1151158689
max1981
2006-06-24 18:18
2006.11.12
возможно-ли из своей программы закрыть окно проводника


2-1161775788
DevilDevil
2006-10-25 15:29
2006.11.12
RichEdit. Цвет добавляемого текста.





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