|
|
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
А как в ините сложного объекта А обратиться не к Х методу родителя (А::Х), а к У методу его составной части В, но не к тому, который возможно модифицирован в родителе, а к оригинальному в классе С, из которого произошел В ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 21:35 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Если добавлять признаки-свойства и через dodefault я знаю, а вот вызвать напрямую код не знаю как, может ли это ::? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 21:41 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
AMorkovkaЕсли добавлять признаки-свойства и через dodefault я знаю, а вот вызвать напрямую код не знаю как, может ли это ::? Можно так: ClassParent::Method() С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 21:59 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Хелп жестоко говорит, что весь А не есть потомок С, потому нельзя использовать ::. Вопрос снят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 21:59 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
AMorkovkaХелп жестоко говорит, что весь А не есть потомок С, потому нельзя использовать ::. Вопрос снят. Где вы такое в HELP-е обнаружили ?! Я вот такое нашел: The :: operator is used to execute a parent class method from within a subclass method. When you create a subclass, the subclass methods are automatically inherited from the parent class. The :: operator makes it possible for you to execute the parent class method in the subclass method and then perform additional processing for the subclass method. The subclass definitions in the example demonstrate how the :: operator is used to execute the parent class method within a subclass method. С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:02 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
А может вопрос и не снят? Не знаю, что делать с ClassParent в Вашей подсказке-как в ините сложного объекта А обратиться, как использовать подсказку? Хелп я имел ввиду тот, что давал разъяснение ошибки, когда она возникает при разных вариантах использования ::. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:09 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Нет, все же нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:17 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Все очень просто: Вы можете обратиться из своего класса к любому методу любого класса, который является parent любой уровня для вашего класса. Напрмимер: Есть класс Class1. У него есть прямой предок (родитель) ParentClass и еще два предка по иерархии выше: ParentClassLevel1 b ParentClassLevel2. Т.е. иерархия такова: ParentClassLevel2->ParentClassLevel1->ParentClass->Class1 (мой класс) Тогда из метода своего класса я могу обратится у тому же методу прямого родителя (ParentClass) через DODEFAULT(). А обратится к любому методу класса - предка (но не родителя) ParentClassLevel1 можно так: ParentClassLevel1::MyMetho() или к методу класса ParentClassLevel2::MyOtherMethod() С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:19 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
AMorkovkaНет, все же нельзя. Может вы пытаетесь обратся не у методу предка? А какая у вас версия VFP ? С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:21 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Вы говорите правильно, но у меня С входит в конейнер В, который есть родителем А. Потому из инита А я могу обратиться к методу Х В (В:Х), а вот к методу У С (С:У)-ошибки лезут, наверное, нет, потому что А не наследник С, а наследник целого В. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:33 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
А... контейнер.. Т.е. вы обращаетсесь не у классу предку.. Тогда не выйдет. Все правильно. С уважением, Алексей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2007, 22:36 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Объявите поле типа С в класса А с видимостью Protected и обращайтесь к методам С из В напрямую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 08:39 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
fixxerОбъявите поле типа С в класса А с видимостью Protected и обращайтесь к методам С из В напрямую. поменяйте в ответе А <--> В. запутался :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 08:42 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 09:03 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Хороший ход! Но я хотел обойти некоторую непоследовательность иерархий у себя, хотел чтобы можно было вывести только "a value" в некоторых случаях. Наверное, нельзя, не трогая код класса Parent: o = CreateObject("Child") o.printValue() define class Delegate as Custom function getValue return "a value" endfunc enddefine define class Parent as Custom add object protected aDelegate as Delegate function aDelegate.getValue ? DODEFAULT( ) return "b value" endfunc enddefine define class Child as Parent procedure printValue ? Parent::aDelegate.getValue() endproc enddefine ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 11:22 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
Боюсь то, что Вы написали смысла не имеет. Хотя я могу ошибаться, не писал на VFP уже два года. Вы бы объяснили чего хотите в терминах ооп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2007, 01:29 |
|
||
|
Доступ к методу по :: ?
|
|||
|---|---|---|---|
|
#18+
В объекте С есть метод Х. Объект В есть контейнер, он содержит объект С, и в нем же (в В) переопределен для объекта С метод Х. Есть объект А, который наследует В. Вот в этом А хотелось (вопреки канонам ООП) увидеть изначальный текст метода Х (тот, о котором говорится в первом предложении абзаца, непереопределенный). Теперь то я тоже соглашусь, что не только тот мой вопрос смысла не имеет, а даже вредный, уводящий от истины, но, поверьте, не из-за моей прихоти, а от тогдашнего непонимания и робкой надежды. Прошу извинить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2007, 16:56 |
|
||
|
|

start [/forum/search_topic.php?author=%D0%90.%D0%90.%D0%9A%D1%83%D0%B7%D0%BD%D0%B5%D1%86%D0%BE%D0%B2%D0%B0&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
8ms |
get forum list: |
16ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
24ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 3664ms |
| total: | 3836ms |

| 0 / 0 |
