[Perl] POO en Perl
Pablo Fischer
pablo@pablo.com.mx
Fri, 8 Aug 2003 00:14:52 +0000
Que tal!
Aunque ya llevo muchas clases (de haber aprendido de Manuales, ejemplos,=20
etc..etc) he llegado a una pregunta, que posiblemente se confunda cualquier=
=20
persona que viene de un lenguaje tipo C++/Java/C#, que son los m=E9todos,=20
p=FAblicos o privados (e incluso hasta protegidos, pero no voy por ah=ED).
En todos mis m=E9todos cuando necesito usar otro lo hago de esta manera
$valor =3D $this->met("argumento1");
Y en el m=E9todo 'met' tengo lo siguiente:
sub met {
my $this =3D shift;
my $nombre =3D $_[0];
Bla bla bla bla...
return $unavariable;
}
Pero es necesario llamar as=ED a los m=E9todos cuando solamente sirven para=
=20
transformar un string a otro formato o hacer un c=E1lculo?, Es decir, porqu=
e no=20
hacer esto
$valor =3D &met("argumento1");
sub met {
my $nombre =3D $_[0];
Bla bla bla bla...
return $unavariable;
}
Y de esta manera ese m=E9todo (met) no pueda accesar desde afuera de la pro=
pia=20
clase (privado).
Es obvio de que en 'met' no voy a usar ning=FAn valor de $this (algo as=ED =
como=20
$this->{DATO}), simplemente necesito un argumento y de ah=ED me las arreglo=
, o=20
bien, abrir una rchivo (que se lo paso por agumento), buscar un dato y list=
o,=20
devolver ese dato.
Que tan necesario es $this para los m=E9todos privados.
salu2!
Pablo
=2D-=20
Pablo Fischer Sandoval (pablo@pablo.com.mx)
http://www.pablo.com.mx
http://www.debianmexico.org
GPG FingerTip: 3D49 4CB8 8951 F2CA 8131 AF7C D1B9 1FB9 6B11 810C
=46irma URL: http://www.pablo.com.mx/firmagpg.txt