Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/01/2009, 08:31
santhy
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Respuesta: Clases con métodos compartidos

Si con "compartidos" te refieres a los estáticos (static function XXXX() ) entonces la diferencia (en teoría) es esta:
una función static test() se llama como NombreClase::test() (y no debe llamarse como $objeto->test(); y que produce un STRICT_ERROR).
Por tanto, es lógico pensar que ocupa menos espacio en memoria, al no necesitar el puntero al objeto implícito $this
Sin embargo, los métodos no-estáticos (como $objeto->test() ) sí necesitan hacer referencia a este puntero.
Además, por cada objeto creado se duplican todas las variables (las funciones creo que no, pero esto no puedo asegurarlo) en el espacio de memoria de cada objeto (pues son distintas para cada objeto); sin embargo, las variables estáticas, en este caso, tampoco son duplicadas.

Espero haberte entendido y aclarado algo
__________________
Si te ha gustado lo que he dicho, puedes darme algún punto de reputación, que no te cuesta nada ^_^.

Di no a los juicios de valor!