Ver Mensaje Individual
  #10 (permalink)  
Antiguo 11/07/2007, 08:46
Avatar de jpinedo
jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Re: Mi objeto no guarda un valor cambiado.

Conceptualmente, es incorrecto que el padre, desde que "nace" ya conozca a sus hijos. La herencia debes entenderla como una relación de generalización/especialización y no como si fueran nodos de HTML en el que <table> es "hijo" de <body>.

La clase padre y la clase hija comparten la misma esencia, pero la hija es más específica. En tu caso, no ocurre eso. <input> no es un tipo particular de <form>. Más bien <form> es un contenedor de <inputs>.

La relación que hay entre los dos objetos es de composición y no de herencia. Si le quitas el "extends" no pasa nada.

Clase Uno:
Maneja varias instancias de Dos. Pero ¿Qué maneja exactamente?
- Crea instancias de Dos y las almacena.
- Puede cambiar el valor de cualquiera de ellas.

Desde ahí, ya vemos que necesitas dos métodos (que ya los tienes). Simplemente habría que ajustar cambiaAtributo(). Y le tienes que decir qué atributo cambiar y cuál será el nuevo valor.
Código PHP:
    function cambiaAtributo($nombre$nuevo_valor){
        
$this->elementos[$nombre] = $nuevo_valor;
    } 
Claro, que primero tienes que comprobar que exista un elemento con ese nombre.

Saludos,