Clase php5

Juan Andrés Ramírez A. jandres en lagos-ing.com
Mie Jul 7 18:05:31 CLT 2010


 

 

De: php-bounces en listas.inf.utfsm.cl [mailto:php-bounces en listas.inf.utfsm.cl]
En nombre de Gonzalo Diaz
Enviado el: Miércoles, 07 de Julio de 2010 18:00
Para: Lista de desarrolladores en PHP
Asunto: Re: Clase php5

 

 

El 7 de julio de 2010 17:52, Juan Andrés Ramírez A. <jandres en lagos-ing.com>
escribió:

> -----Mensaje original-----

> De: php-bounces en listas.inf.utfsm.cl [mailto:php-

> bounces en listas.inf.utfsm.cl] En nombre de Juan Manuel Doren
> Enviado el: Miércoles, 07 de Julio de 2010 17:50

> Para: Lista de desarrolladores en PHP
> Asunto: Re: Clase php5
>
> >

> >  Mi duda es, para mostrar los datos tendría que hacer una Public
> Function
> > por cada variable para mostrar???, o se puede realizar de una forma
> más
> > eficiente??
>
> esa suele ser la mas eficiente
> pero si defines las propiedades como publicas las puedes usar directo
> desde fuera
>
> $ob = new MiClase();
> $ob->Ingreso_datos('pepe');
> echo $ob->nombre;
>
> también pudes usar los metodos magicos __get y __set pero en mi
> opinion es complicarse inutilmente la vida
> y probablemente hacer el programa menos eficiente

Vale gracias, y a mí nunca me ha gustado el método get y set, nunca lo he
usado, ni siquiera en visual que era tan popular.


>
> http://www.php.net/manual/en/language.oop5.overloading.php#language.oop
> 5.overloading.members

 

En el caso de PHP5 y Java se utiliza por el tema de la visibilidad de
atributos. Si trabajarás con todo público (lo cual "no es lo correcto")
entonces en efecto da lo mismo y no tiene sentido definirle un método
get/set.

 

¿Por qué no es correcto? Porque en la Orientación a Objetos se puede usar la
visibilidad (por ejemplo) considerando que tú código puede ser reutilizado
como librería de otra aplicación, y la "integridad" de un objeto se ve en
peligro con todo público.

 

Por ejemplo, si tus métodos asumen que cierto atributo contiene un dato con
una estructura definida, y desde afuera cambias la estructura de ese dato,
no puedes predecir el comportamiento del objeto. Asumiendo que un atributo X
es un array de largo 3 y tal método siempre lo itera 3 veces, entonces si lo
reemplazas por un array de largo 2, lanzará errores al usar ese método.

 

Por ello los métodos de una clase se encargan (en teoría) de mantener su
integridad :B

  _____  

Tienes toda la razón y no discuto eso, sólo hice el comentario de que
métodos preestablecidos como get y set nunca los he ocupado, siempre he
manejado el acceso a las clases con propiedades de privado o público, por
dar un ejemplo.


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Atentamente, Gonzalo Díaz Cruz
Estudiante Ingeniería de Ejecución en Computación e Informática
Universidad de Santiago de Chile
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://blog.gon.cl/
http://twitter.com/sir_gon

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listas.inf.utfsm.cl/pipermail/php/attachments/20100707/78ebf49e/attachment.html 


Más información sobre la lista de distribución PHP