|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrew Alakozow 2:5061/6 12 May 2003 18:00:26 To : Dennis Krupenik Subject : Re: Архитектура классов -------------------------------------------------------------------------------- DK> Возникает проблема с наследованием методов. DK> В некоем методе П::П1::method есть строка DK> $self->SUPER::method; DK> Т.е. метод должен найтись или в П, или в Р::Р1. Метод находится в DK> Р::Р1, но там тоже есть строка DK> $self->SUPER::method; DK> т.е. я имел в виду, что искать метод надо в Р. Hо только ничего не DK> ищется, а выдается строка, что мол метод в пакете не найден. Hапиши небольшой код для иллюстрации вопроса. У меня не получилось вопроизвести описанную проблему. use strict; # --- package Level1; sub new { bless ({}, $_[0]) } sub foo { print ref $_[0] } # --- package Level2_1; use base qw(Level1); # --- package Level2_2; use base qw(Level1); sub foo { $_[0]->SUPER::foo } # --- package Level3; use base qw(Level2_1 Level2_2); sub foo { $_[0]->SUPER::foo } # --- package main; Level3->new->foo; aa29 --- Microsoft Outlook Express 6.00.2720.3000 * Origin: Life In The Dark (2:5061/6) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/413348e46d006.html, оценка из 5, голосов 10
|