|
|
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
При создании свойства класса я могу задать для свойства Public,Protected и Hidden. Все эти значения относятся к видимости свойства для дочерних классов и для программы. Так почему при задании Protected класс не видит свойства? У меня класс контейнер содержит кнопку. Обращение из init кнопки aa = This.parent.свойство ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 17:57:47 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
Выложи примерчик своего класса. Заодно укажи версию FoxPro. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 19:02:02 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
У меня 7 фокс. Сделал пример. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 20:01:28 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
Перенеси код присвоения значения свойству из INIT-вложенного объекта в INIT самого контейнера. Похоже на то, что защищенные свойства и методы (PROTECTED или HIDEN) не видны также и из member-членов класса-контейнера. Т.е. обращение к ним возможны только непосредственно из методов самого класса-контейнера. В твоем примере, если хочешь сделать Protected-свойство, хранящее реквизит кнопки, то придется делать класс кнопки. Без контейнера. Затем этот класс кнопки положишь в класс-контейнер, если необходимо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 23:12:34 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
Hi И_Я_хочу_Знать! > Все эти значения относятся к видимости свойства для дочерних классов и для > программы. нет, ТОЛЬКО для дочерних классов. > Так почему при задании Protected класс не видит свойства? Потому что форма с кнопкой - это не есть наследник класса кнопки (даже member-объект - кнопка лежащая на этой форме не есть класс-наследник!). Вот если бы ты сделал подкласс от кнопки - то из методов этого подкласса мог бы свободно обращаться к Protected свойству. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2005, 23:17:48 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov Hi И_Я_хочу_Знать! > Все эти значения относятся к видимости свойства для дочерних классов и для > программы. нет, ТОЛЬКО для дочерних классов. Ну наверное не совсем так. При значении Public свойство видят все. > Так почему при задании Protected класс не видит свойства? Потому что форма с кнопкой - это не есть наследник класса кнопки (даже member-объект - кнопка лежащая на этой форме не есть класс-наследник!). Вот если бы ты сделал подкласс от кнопки - то из методов этого подкласса мог бы свободно обращаться к Protected свойству. А вот здесь не совсем понятно. У меня же библиотека классов в котором лежит класс. Или опять путаница с терминалогией в фоксе? (база данных) To ВладимирМ Спасибо за ответ. Это просто значит что я не могу пользоватся этой фишкой. И сделаю свойство Public хотя по идеи это ни есть Good. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2005, 12:15:11 |
|
||
|
Создание свойства класса.
|
|||
|---|---|---|---|
|
#18+
Hi И_Я_хочу_Знать! > Ну наверное не совсем так. При значении Public свойство видят все. При чём тут public? Мы про Protected говорили, и про то, кто есть "особо приближенный к телу" чтобы видеть эти Protected свойства. > А вот здесь не совсем понятно. Увы, я не могу по другому это выразить... Разве что через код... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. frm НЕ ЕСТЬ наследник cmd или cmd2 - ему свойство недоступно. Можешь ради интереса повставлять в методы вызов ACLASS() и посмотреть иерархию наследования для каждого из этих классов. В vcx несмотря на внутренне отличающуюся схему хранения информации, по сути действуют те-же самые правила - форма с кнопкой НЕ является наследником класса, от которого сделана кнопка - и потому доступа к Protected свойству не имеет. Вообще обычно если свойства "прячут", то это либо потому что их не нужно нигде "вовне" использовать, либо для того, чтобы организовать к ним доступ посредством специальных методов - которые проведут какую-то свою хитрую проверку, и либо позволят получить/изменить свойство либо нет. Впрочем в фоксе это решается посредством Access/Assign методов вполне эффективно. Posted via ActualForum NNTP Server 1.2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 01:35:41 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33185792&tid=1593784]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
458ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 192ms |
| total: | 745ms |

| 0 / 0 |
