<br><br><div class="gmail_quote">El 7 de julio de 2010 17:52, Juan Andrés Ramírez A. <span dir="ltr">&lt;<a href="mailto:jandres@lagos-ing.com">jandres@lagos-ing.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

&gt; -----Mensaje original-----<br>
<div class="im">&gt; 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>&gt; <a href="mailto:bounces@listas.inf.utfsm.cl">bounces@listas.inf.utfsm.cl</a>] En nombre de Juan Manuel Doren<br>
&gt; Enviado el: Miércoles, 07 de Julio de 2010 17:50<br>
<div class="im">&gt; Para: Lista de desarrolladores en PHP<br>
&gt; Asunto: Re: Clase php5<br>
&gt;<br>
&gt; &gt;<br>
</div><div class="im">&gt; &gt;  Mi duda es, para mostrar los datos tendría que hacer una Public<br>
&gt; Function<br>
&gt; &gt; por cada variable para mostrar???, o se puede realizar de una forma<br>
&gt; más<br>
&gt; &gt; eficiente??<br>
&gt;<br>
&gt; esa suele ser la mas eficiente<br>
&gt; pero si defines las propiedades como publicas las puedes usar directo<br>
&gt; desde fuera<br>
&gt;<br>
&gt; $ob = new MiClase();<br>
&gt; $ob-&gt;Ingreso_datos(&#39;pepe&#39;);<br>
&gt; echo $ob-&gt;nombre;<br>
&gt;<br>
&gt; también pudes usar los metodos magicos __get y __set pero en mi<br>
&gt; opinion es complicarse inutilmente la vida<br>
&gt; 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>
&gt;<br>
&gt; <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>
&gt; 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 &quot;no es lo correcto&quot;) 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 &quot;integridad&quot; 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>