Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Архитектура классов   Andrew Alakozow   12 May 2003 18:00:26 
Архивное /ru.perl/413348e46d006.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional