[Php-objetos] Consultita Practico 1
Juan Marcos
malditared en hotmail.com
Vie Feb 13 11:54:49 ART 2009
Jeje si me tomaran una evaluación con el enunciado del ejercicio yo seria uno de esos que no paran de preguntar, y que al final te dicen "el enunciado es asi, hacé lo que te parezca" jeje... Bueno, aca va mi preguntita:
Estoy haciendo el ejercicio de forma que en los vehículos, el combustible es un objeto que se ingresa y se obtiene mediante un $auto->setCombustible($fuel) y $fuel = $auto->getCombustible() Funciona, hermoso, todo barbaro, ahora, mi consulta es: que se "debe" devolver y/o ingresar, el objeto referenciado o un nuevo objeto?
Por ejemplo:
Supongamos que tenemos $auto1 y $camion1, y quiero tomar el combustible del auto y setear el mismo en el camión, entonces hago:
si mi codigo de set y put (simplificado y sin las excepciones) fuese:
function putCombustible($combustible) {
$this->combustible = $combustible;
}
function getCombustible() {
return $this->combustible;
}
y en la implementación yo use:
$the_nafta = $auto1->getCombustible();
$camion1->setCombustible($the_nafta);
con esto bien tendriamos el mismo combustible en los 2 pero... seria EL MISMO COMBSTIBLE!, es decir que si yo modifico combustible en $auto1, como el objeto combustible es el mismo esto haria que el camión tambien se modifique. Evidentemente es un error, y mi pregunta es:
¿debo devolver una instancia nueva del objeto? (una copia) ¿o dejo que el programador sea el que tenga esto en cuenta? y que por ejemplo use algo asi como:
$the_nafta = clone $auto1->getCombustible();
y ahi si:
$camion1->setCombustible($the_nafta);
Como dicen: No hay preguntas tontas, solo tontos (como yo ) que preguntan...
Saludos!
- Juan Marcos.
_________________________________________________________________
¿Aburrido? Ingresá ya y divertite como nunca en MSN Juegos.
http://juegos.ar.msn.com/
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://www3.fi.mdp.edu.ar/cgi-bin/mailman/private/php-objetos/attachments/20090213/650befa6/attachment-0001.htm
Más información sobre la lista de distribución Php-objetos