[SP-pm] Dúvida com OO e classes filhas

Lucas F. Rosada lucasrosada em gmail.com
Sexta Novembro 2 15:40:45 PDT 2007


Boa noite, pessoas!

Primeiramente, tenho 2 classes: classe.pm e filha.pm. A classe filha.pm é
filha de classe.pm. Seguem os códigos:

=========
package filha;

use classe;
our @ISA = qw(classe);

use vars qw(@ISA);
sub new {
   my $class = "filha";

   $class->SUPER::new;
}
1;
==========

==========
#!/usr/bin/perl

package classe;

use strict;

sub new {
   my $class = "classe";
   my $self = {"a" => "b"};
   bless ($self, $class);
}

sub func {
   my $self = shift;

   print $self->{"a"};
}

1;
========

Esse código, pelo que testei, funciona perfeitamente, por exemplo, quando eu
instancia uma filha e chamo o método func, presente na classe pai.
No entanto, pelo que me resta de lembranças de quando fucei OO em perl, ao
invés de fazer
sub new {
   my $class = "classe"

eu deveria fazer
sub new {
   my $class = shift;

O problema é que usando o shift não funciona, ele me retorna um mensagem de
erro quando tento instanciar a filha (pois ele não conhece um SUPER).
Os arquivos problemáticos estão anexados.

Gostaria que alguém me ajudasse dizendo o que estou fazendo de errado ou se
algo mudou e eu não percebi.

Abraços a todos! Agradeço desde já!

Bolha.

-- 
"Café clareia as idéias, apesar de amarelar os dentes"
-- Bolha
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071102/8fde7454/attachment.html 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : classe.pm
Tipo  : application/x-perl
Tam   : 187 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071102/8fde7454/attachment.bin 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : filha.pm
Tipo  : application/x-perl
Tam   : 127 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071102/8fde7454/attachment-0001.bin 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : test1.pl
Tipo  : application/x-perl
Tam   : 57 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071102/8fde7454/attachment-0002.bin 
-------------- Próxima Parte ----------
Um anexo não texto foi limpo...
Nome  : test2.pl
Tipo  : application/x-perl
Tam   : 56 bytes
Descr.: não disponível
Url   : http://mail.pm.org/pipermail/saopaulo-pm/attachments/20071102/8fde7454/attachment-0003.bin 


Mais detalhes sobre a lista de discussão SaoPaulo-pm