[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