<br><br><div class="gmail_quote">El 7 de julio de 2010 17:52, Juan Andrés Ramírez A. <span dir="ltr"><<a href="mailto:jandres@lagos-ing.com">jandres@lagos-ing.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
> -----Mensaje original-----<br>
<div class="im">> De: <a href="mailto:php-bounces@listas.inf.utfsm.cl">php-bounces@listas.inf.utfsm.cl</a> [mailto:<a href="mailto:php-">php-</a><br>
</div>> <a href="mailto:bounces@listas.inf.utfsm.cl">bounces@listas.inf.utfsm.cl</a>] En nombre de Juan Manuel Doren<br>
> Enviado el: Miércoles, 07 de Julio de 2010 17:50<br>
<div class="im">> Para: Lista de desarrolladores en PHP<br>
> Asunto: Re: Clase php5<br>
><br>
> ><br>
</div><div class="im">> > Mi duda es, para mostrar los datos tendría que hacer una Public<br>
> Function<br>
> > por cada variable para mostrar???, o se puede realizar de una forma<br>
> más<br>
> > eficiente??<br>
><br>
> esa suele ser la mas eficiente<br>
> pero si defines las propiedades como publicas las puedes usar directo<br>
> desde fuera<br>
><br>
> $ob = new MiClase();<br>
> $ob->Ingreso_datos('pepe');<br>
> echo $ob->nombre;<br>
><br>
> también pudes usar los metodos magicos __get y __set pero en mi<br>
> opinion es complicarse inutilmente la vida<br>
> y probablemente hacer el programa menos eficiente<br>
<br>
</div>Vale gracias, y a mí nunca me ha gustado el método get y set, nunca lo he<br>
usado, ni siquiera en visual que era tan popular.<br>
<div><div></div><div class="h5"><br>
><br>
> <a href="http://www.php.net/manual/en/language.oop5.overloading.php#language.oop" target="_blank">http://www.php.net/manual/en/language.oop5.overloading.php#language.oop</a><br>
> 5.overloading.members<br><br>
</div></div></blockquote></div><div><br></div>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.<div>
<br></div><div>¿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.</div>
<div><br></div><div>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.</div>
<div><br></div><div>Por ello los métodos de una clase se encargan (en teoría) de mantener su integridad :B<br><br clear="all"><br>-- <br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br>Atentamente, Gonzalo Díaz Cruz<br>
Estudiante Ingeniería de Ejecución en Computación e Informática<br>Universidad de Santiago de Chile<br>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<br><br><a href="http://blog.gon.cl/">http://blog.gon.cl/</a><br>
<a href="http://twitter.com/sir_gon">http://twitter.com/sir_gon</a><br><br>
</div>