[Php-objetos] Curiosidad
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Lun Feb 16 22:07:20 ART 2009
Hola Juan,
El lun, 16-02-2009 a las 20:42 -0200, Juan Marcos escribió:
>
> Por simple curiosidad, probé hacer:
>
> ...
> $c2 = new Combustible("GNC", 50);
> $pickup1 = new Pickup($c2, 4, 20, 3000);
> $c2 = null;
>
> $consumoPickup = $pickup1->calcularConsumo();
> print("El consumo de la pickup es: $$consumoPickup.");
> ...
>
> Y el resultado da correctamente, no se elimina la instancia de
> Combustible en $pickup1, aparentemente al asignarle otra cosa a $c2,
> éste pierde la referencia sobre el objeto. No estaba tan mal lo que
> habia planteado despues de todo.
No está tan mal, efectivamente, está para la mona.
Peor que mal :(
No el código, eso es lo de menos porque a la larga sale.
Los conceptos que aplicás no tienen sentido con la mezcla que estás
haciendo en el código...
De última que ande es un elemento más. Lo importante es que definas lo
que querés hacer, y después entiendas lo que escribís.
Tu código queda funcionando porque el Garbage Collector encuentra una
referencia al Objeto, entonces el $c2 = null no la mata, no hace nada.
Si llamás al destructor explícitamente, al menos en mi versión de PHP,
sí lo destruye y calcularResultado() pasa a devolver cero.
> Saludos!
=mente... releiste la teoría???
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos