Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.12;
Скачать: CL | DM;

Вниз

Видимость переменных из 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.07 c
15-1161490175
КлЯкСа
2006-10-22 08:09
2006.11.12
Подскажите About Newsgroups! Извините, что пишу сюда.


2-1162189286
vitv
2006-10-30 09:21
2006.11.12
DBGrid-в несколько строк.


15-1161962583
XProger
2006-10-27 19:23
2006.11.12
Перегрузка операторов в Delphi 10


15-1161437086
dj0n
2006-10-21 17:24
2006.11.12
Работа с Jpg и с DBImage


2-1161676141
Mishenka
2006-10-24 11:49
2006.11.12
Модальное окно