![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| gcc |
|
||||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Уважаемые, подскажите как унаследовать конструктор?
или как тут надо? конструктор у наследника нужно написать примерно так:
но он не работает, пробовал по разному... если даже и работает, то в пакете package child (в котором наследуем) все методы не видны (пишет что не извеный метод) то что делаю: это класс родитель:
пытаюсь унаследовать: (то что не нужно - я вырезал)
примерно как это должно выглядеть в конструкторе где передаються не именнованные параметры (в данном случаен не знаю как применить это)
Это сообщение отредактировал(а) gcc - 13.1.2009, 19:57 |
||||||||||
|
|||||||||||
| ginnie |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, почему у Вас в func
т.е. почему не указан класс? Кроме того, в child не должно быть
P.S. Для создания конструктора класса-потомка мне нравится вариант
Это сообщение отредактировал(а) ginnie - 13.1.2009, 20:03 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||||
|
|||||||
| gcc |
|
||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
так работает, по примеру, а как должно быть? |
||||
|
|||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, например так
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
там bless нету, там есть то что Вы подсказали или еще то, что пробовал:
Добавлено @ 20:08 ginnie, сейчас попробую:
Это сообщение отредактировал(а) gcc - 13.1.2009, 20:09 |
||||||||
|
|||||||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
Судя по коду, Вы что-то не понимаете. Если что-то не понятно - надо спрашивать!
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
если работает - значит правильно? я нашел примеры и сделал так как там, ну или добавил в конструктор еще, например, инициализацию подключения к DBI через can()... (мне там так удобно) Это сообщение отредактировал(а) gcc - 13.1.2009, 20:13 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, как совместить Вашу мысль
с
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
||||||||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
ginnie, ну я имел ввиду что до этого
вот я изменил: наследник:
в child ошибка
на эту тсроку ругается
родитель:
догадываюсь, что конструктор по другому надо построить?... Это сообщение отредактировал(а) gcc - 13.1.2009, 20:30 |
||||||||
|
|||||||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, в соответствии с документацией вариант SUPER::new(@_) неправильный, поэтому попробуйте
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
спасибо, заработало, я этот вариант тоже пробовал, но он не работал раньше...
возможно потому-что не было:
сейчас вроде бы работает |
|||
|
||||
| ginnie |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
gcc, вариант
делает $self объектом текущего класса, поэтому она неверно работает при вызове из дочернего класса, т.к. создает объект класса-родителя, а не потомка (поэтому недоступны методы класса-потомка). Вариант
создает объект того класса, который передается параметром (класса-потомка в нашем случае). Это сообщение отредактировал(а) ginnie - 14.1.2009, 12:17 -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
||||
|
|||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |