Перепрыгнуть метод | |
---|---|
PaulWist Автор Сообщений: 14618 Дата регистрации: 01.04.2004 |
Братцы, запамятовал, как вызвать метод родительского класса?
Class1.Metod1 -> Class2.Method1 -> Class3.Metod1 createobject('Class3') надо вызвать метод Class1.Metod1 минуя Class2.Method1 "помню только три буквы" (с) только два двоеточия :: ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Перепрыгнуть метод | |
---|---|
sphinx Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
DODEFAULT не спасет?
------------------ "Veni, vidi, vici!"(с) |
Re: Перепрыгнуть метод | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
А вызывать то откуда хочешь?
Если из метода класса №3, то всё правильно пишешь
|
Re: Перепрыгнуть метод | |
---|---|
PaulWist Автор Сообщений: 14618 Дата регистрации: 01.04.2004 |
Ага.
Спасибо, Олег. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Перепрыгнуть метод | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Олег крут!)
() Но, блин, чтобы применять эти :: приходится знать устройство класса (его "предысторию"), "это уже не то", не "класс", который дан свыше и не имеет особенностей кроме своих видимых методов и свойств.... Двойное двоеточие - это типа как "хук" ... |
Re: Перепрыгнуть метод | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Нет. Это так задумано изначально и документировано в хелпе. |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Это не хук, а примерно то же самое, что и DODEFAULT() - уж им-то ты наверняка пользовался. Разница лишь в том, что DODEFAULT() выполняет родительский метод с тем же именем, из которого вызывается, а оператор "::" - с тем, который будет указан. Ну, и уровень родителя - у DODEFAULT() - лишь предшествующий, а у "::" - любой предыдущий. Так что при желании без DODEFAULT() можно было бы обойтись, так как это лишь частный случай оператора "::". Исправлено 2 раз(а). Последнее : akvvohinc, 29.10.22 01:37 |
Re: Перепрыгнуть метод | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Не помню 26 или 52 команды было изначально в фоксе. И всё работало не хуже чем сейчас. А остальное - баловство. Без которого вполне возможно обойтись. Исправлено 1 раз(а). Последнее : Taran, 29.10.22 12:15 |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
И всё же я не предлагал отказываться от функционала (полезного или бесполезного для того или иного разработчика). Оператором "::" можно заменить DODEFAULT() без потерь функциональности. В Фоксе есть и куча других "синонимов", например ERASE и DELETE FILE IIF() и ICASE() VARTYPE() и TYPE() DTOS() и DTOC(*,1) Циклы DO WHILE !EOF()+SKIP и SCAN операторы "." и "->", "#" "!=" и "<>", NOT и "!" функция MOD() и оператор "%" круглые и квадратные скобки для массивов и функций Так что обойтись-то можно - это лишь вопрос удобства использования. Исправлено 1 раз(а). Последнее : akvvohinc, 29.10.22 12:44 |
Re: Перепрыгнуть метод | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Ай. Ты думаешь я эти "похожести" не знаю?
Не все они конечно взаимозаменяемы. Про DODEFAULT(). Тут важно удобство сопровождения и чтения исходника. Я не помню чтобы где-то у меня было использование 4етырех точек. Ну вот Павлу понадобилось вдруг. И фокс оказался крут. Ну да не тема. |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Например? |
Re: Перепрыгнуть метод | |
---|---|
Taran Сообщений: 13624 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Хернёй я еще не маялся на старости лет чтобы впадать в ... |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Ожидаемо - примеров невзаимозаменяемости нет. |
Re: Перепрыгнуть метод | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
Под словом "хук" в данном смысле имел, что сама идея классов (из чего он создан, и какие свойства или методы он имел в родителях де должна быть видна конечному пользователю класса, из которого он сделает себе копию) не предполагает видимости "внутренностей" класса, не более того была "мысль" ) Доб. Ни разу не пользовался оператором "::". Если требовалось дать доступ к функциям родителей класса, (или к свойствам), то это значило, что надо было включать в функционал класса доступ к этим поддеталям класса, ... но "расширять" обьект... точнее, давать себе (юзеру класса) возмоджность лазить по методам и свойства классов-родителей - это не есть вариант, который кончится хорошим... нае...ся Исправлено 1 раз(а). Последнее : of63, 30.10.22 21:57 |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
А каким способом ты "делаешь" дочерний метод на основе родительского? Допустим, тебе надо добавить пару строк к методу родителя. |
Re: Перепрыгнуть метод | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
кроме ADDPOPERTY(обьект...
есть другие варианты добавления (кроме экзоитики, типа "" создать курсор, считать с курсора обьект.., навскидку? Допустим, тебе надо добавить пару строк к методу родителя. Ты умеешь? Добавить к методу? Это описка, даже не спрашиваю. К методу пару строк нельзя "добавить" Свойства (имя и значение) добавляем и понимаем ) много лет, "чего и всем желаю" ) youtu.be Исправлено 1 раз(а). Последнее : of63, 31.10.22 00:53 |
Re: Перепрыгнуть метод | |
---|---|
of63 Сообщений: 25254 Откуда: Н.Новгород Дата регистрации: 13.02.2008 |
> каким способом ты "делаешь" дочерний метод на основе родительского? Да! Каким? ) |
Re: Перепрыгнуть метод | |
---|---|
akvvohinc Сообщений: 4219 Откуда: Москва Дата регистрации: 11.11.2008 |
Ну какая описка? Я же не учебник для первоклассников пишу. 1) Есть код метода родителя. 2) В дочернем классе тебе нужно немного изменить код этого метода, а именно - сделать ещё кое-что, добавив пару строк. Какой код ты напишешь в дочернем методе для решения этой задачи? Так кроме свойств у класса есть и методы (события). Их что, нельзя добавлять, изменять и понимать? Исправлено 2 раз(а). Последнее : akvvohinc, 31.10.22 11:01 |
Re: Перепрыгнуть метод | |
---|---|
leonid Сообщений: 3204 Откуда: Рига Дата регистрации: 03.02.2006 |
Что-то мне помнится, в бытность я в таких случаях писал dodefault() плюс пару строк кода. |
Re: Перепрыгнуть метод | |
---|---|
Ydin Сообщений: 7648 Откуда: Киев Дата регистрации: 16.12.2005 |
Причем, так и перед кодом можно. Можно 2 раза dodefault() написать, и даже больше.
В ифах-элсах, в циклах. И это еще не все... Исправлено 1 раз(а). Последнее : Ydin, 31.10.22 20:38 |
© 2000-2024 Fox Club  |