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> &lt;
<a href="mailto:lucasmateus.oliveira@gmail.com">lucasmateus.oliveira@gmail.com</a>&gt; 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> &lt;<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>&gt; 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 &quot;Learning Object Oriented Perl&quot;, Randal Schwartz.<br><br><br><br>&lt;code_pai&gt;<br><br><br>package pai;<br><br>sub new{<br>&nbsp;&nbsp;&nbsp;&nbsp; my $self = {};<br>&nbsp;&nbsp;&nbsp;&nbsp; bless $self;<br>

&nbsp;&nbsp;&nbsp;&nbsp; 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-&gt;{atributo} = $at if $at;<br>return $self-&gt;{atributo};<br><br>}<br>
<br>
<br>1;<br><br>&lt;/code_pai&gt;<br><br>&lt;code_filho&gt;<br><br>package filho;<br>use base &#39;pai&#39;; #HERANÇA AQUI.<br><br>sub new {<br>&nbsp;&nbsp;&nbsp;&nbsp;my $self = {};<br>&nbsp;&nbsp;&nbsp;&nbsp; bless $self;<br>&nbsp;&nbsp;&nbsp;&nbsp; return $self;<br>}<br><br>#Mais métodos aqui...
<br><br>1;<br><br>&lt;code_filho&gt;<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: &quot;Lista Perl Sao Paulo&quot; <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>
&gt; Boa noite, pessoas!<br>&gt;<br>&gt; 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>&gt; 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>&gt;<br>&gt; =========<br>&gt; package filha;<br>&gt;<br>&gt; use classe;<br>&gt; our @ISA = qw(classe);
<br>&gt;<br>&gt; use vars qw(@ISA);<br>&gt; sub new {
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $class = &quot;filha&quot;;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;$class-&gt;SUPER::new;<br>&gt; }<br>&gt; 1;<br>&gt; ==========<br>&gt;<br>&gt; ==========<br>&gt; #!/usr/bin/perl<br>&gt;<br>&gt; package classe;<br>&gt;<br>&gt; use strict;
<br>&gt;<br>&gt; sub new {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $class = &quot;classe&quot;;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $self = {&quot;a&quot; =&gt; &quot;b&quot;};<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;bless ($self, $class);<br>&gt; }<br>&gt;<br>&gt; sub func {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;print $self-&gt;{&quot;a&quot;};<br>&gt; }<br>&gt;<br>&gt; 1;<br>&gt; ========<br>&gt;<br>&gt; Esse código, pelo que testei, funciona perfeitamente, por exemplo, quando eu<br>&gt; instancia uma filha e chamo o método func, presente na classe pai.
<br>&gt; No entanto, pelo que me resta de lembranças de quando fucei OO em perl, ao<br>&gt; invés de fazer<br>&gt; sub new {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $class = &quot;classe&quot;<br>&gt;<br>&gt; eu deveria fazer<br>&gt; sub new {<br>

&gt;&nbsp;&nbsp;&nbsp;&nbsp;my $class = shift;<br>&gt;<br>&gt; O problema é que usando o shift não funciona, ele me retorna um mensagem de<br>&gt; erro quando tento instanciar a filha (pois ele não conhece um SUPER).<br>&gt; Os arquivos problemáticos estão anexados.
<br>&gt;<br>&gt; Gostaria que alguém me ajudasse dizendo o que estou fazendo de errado ou se<br>&gt; algo mudou e eu não percebi.<br>&gt;<br>&gt; Abraços a todos! Agradeço desde já!<br>&gt;<br>&gt; Bolha.<br>&gt;<br>&gt; --
<br>&gt; &quot;Café clareia as idéias, apesar de amarelar os dentes&quot;<br>&gt; -- Bolha<br>&gt;<br>&gt; E-mail classificado pelo Identificador de Spam Inteligente Terra.<br>&gt; Para alterar a categoria classificada, visite
<br>&gt;<br><a href="http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=andre.garcia.carneir&amp;_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&amp;_l=1,1194043277.665580.6175.capalaba.hst.terra.com.br,8720,Des15,Des15
</a><br>&gt;<br>&gt; Esta mensagem foi verificada pelo E-mail Protegido Terra.<br>&gt; Scan engine: McAfee VirusScan / Atualizado em 02/11/2007 / Versão: 5.1.00/5155<br>&gt; 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>&gt;<br>&gt;<br><br>--<br>André Garcia Carneiro<br>Developer(Perl/PHP)<br>Member of &quot;São Paulo Perl Mongers&quot; - <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>