[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