Desculpa o email foi enviado errado =) era pra outra lista onde ocorre disputa de conhecimento... isso prejudica muito!!!<br><br><div><span class="gmail_quote">Em 06/11/07, <b class="gmail_sendername">Lucas Mateus</b> <
<a href="mailto:lucasmateus.oliveira@gmail.com">lucasmateus.oliveira@gmail.com</a>> escreveu:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Vixiiiiiii o pessoal aki eh bem humilde ehauehauehea essa lista num serve pra mim !!!<br><br><div><span class="gmail_quote">Em 06/11/07, <b class="gmail_sendername">André Garcia Carneiro</b> <<a href="mailto:andre.garcia.carneir@terra.com.br" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
andre.garcia.carneir@terra.com.br</a>> escreveu:</span><div><span class="e" id="q_1161524ff010b6b2_1"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Olá!<br><br><br>Exemplo bem medíocre abaixo. Sugiro você fazer RTFM em perlobj. No entanto, acho meramente didático, o Champs
<br>outro dia mesmo me recomendou um livro "Learning Object Oriented Perl", Randal Schwartz.<br><br><br><br><code_pai><br><br><br>package pai;<br><br>sub new{<br> my $self = {};<br> bless $self;<br>
return $self;<br><br>}<br><br>#mais métodos aqui...<br><br><br>#Encapsulando atributos<br><br>sub atributo {<br>my ($self,$at) = @_;<br>$self->{atributo} = $at if $at;<br>return $self->{atributo};<br><br>}<br>
<br>
<br>1;<br><br></code_pai><br><br><code_filho><br><br>package filho;<br>use base 'pai'; #HERANÇA AQUI.<br><br>sub new {<br> my $self = {};<br> bless $self;<br> return $self;<br>}<br><br>#Mais métodos aqui...
<br><br>1;<br><br><code_filho><br><br><br><br><br>Cheers!<br><br><br><br><br><br>---------- Cabeçalho original -----------<br><br>De: saopaulo-pm-bounces+andre.garcia.carneir=<a href="mailto:terra.com.br@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
terra.com.br@pm.org
</a><br>Para: "Lista Perl Sao Paulo" <a href="mailto:saopaulo-pm@mail.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">saopaulo-pm@mail.pm.org</a><br>Cópia:<br>Data: Fri, 2 Nov 2007 19:40:45 -0300
<br>Assunto: [SP-pm] Dúvida com OO e classes filhas<br><br>
> Boa noite, pessoas!<br>><br>> Primeiramente, tenho 2 classes: <a href="http://classe.pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">classe.pm</a> e <a href="http://filha.pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
filha.pm</a>. A classe <a href="http://filha.pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">filha.pm</a> é<br>> filha de
<a href="http://classe.pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">classe.pm</a>. Seguem os códigos:<br>><br>> =========<br>> package filha;<br>><br>> use classe;<br>> our @ISA = qw(classe);
<br>><br>> use vars qw(@ISA);<br>> sub new {
<br>> my $class = "filha";<br>><br>> $class->SUPER::new;<br>> }<br>> 1;<br>> ==========<br>><br>> ==========<br>> #!/usr/bin/perl<br>><br>> package classe;<br>><br>> use strict;
<br>><br>> sub new {<br>> my $class = "classe";<br>> my $self = {"a" => "b"};<br>> bless ($self, $class);<br>> }<br>><br>> sub func {<br>> my $self = shift;
<br>><br>> print $self->{"a"};<br>> }<br>><br>> 1;<br>> ========<br>><br>> Esse código, pelo que testei, funciona perfeitamente, por exemplo, quando eu<br>> instancia uma filha e chamo o método func, presente na classe pai.
<br>> No entanto, pelo que me resta de lembranças de quando fucei OO em perl, ao<br>> invés de fazer<br>> sub new {<br>> my $class = "classe"<br>><br>> eu deveria fazer<br>> sub new {<br>
> my $class = shift;<br>><br>> O problema é que usando o shift não funciona, ele me retorna um mensagem de<br>> erro quando tento instanciar a filha (pois ele não conhece um SUPER).<br>> Os arquivos problemáticos estão anexados.
<br>><br>> Gostaria que alguém me ajudasse dizendo o que estou fazendo de errado ou se<br>> algo mudou e eu não percebi.<br>><br>> Abraços a todos! Agradeço desde já!<br>><br>> Bolha.<br>><br>> --
<br>> "Café clareia as idéias, apesar de amarelar os dentes"<br>> -- Bolha<br>><br>> E-mail classificado pelo Identificador de Spam Inteligente Terra.<br>> Para alterar a categoria classificada, visite
<br>><br><a href="http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=andre.garcia.carneir&_l=1,1194043277.665580.6175.capalaba.hst.terra.com.br,8720,Des15,Des15" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=andre.garcia.carneir&_l=1,1194043277.665580.6175.capalaba.hst.terra.com.br,8720,Des15,Des15
</a><br>><br>> Esta mensagem foi verificada pelo E-mail Protegido Terra.<br>> Scan engine: McAfee VirusScan / Atualizado em 02/11/2007 / Versão: 5.1.00/5155<br>> Proteja o seu e-mail Terra: <a href="http://mail.terra.com.br/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.terra.com.br/</a><br>><br>><br><br>--<br>André Garcia Carneiro<br>Developer(Perl/PHP)<br>Member of "São Paulo Perl Mongers" - <a href="http://sao-paulo.pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://sao-paulo.pm.org</a><br><br>
_______________________________________________<br>SaoPaulo-pm mailing list<br><a href="mailto:SaoPaulo-pm@pm.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">SaoPaulo-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://mail.pm.org/mailman/listinfo/saopaulo-pm
</a><br></blockquote></span></div></div><br>
</blockquote></div><br>