Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/04/2007, 11:54
DarioDario
 
Fecha de Ingreso: junio-2005
Mensajes: 981
Antigüedad: 19 años, 5 meses
Puntos: 2
Re: Como se implementa la agregacion y composicion en php

zsamer yo creo que no tiene nada de Composición. Según lo que entiendo la relación de Composición se resume en la siguiente frase:
Código:
El tiempo de vida del objeto incluido esta condicionado por el tiempo de vida del que lo incluye.
En el ejemplo que vos mostras si nos situamos antes del echo y destruimos la variable $page (que es una instancia de la clase Page) la variable $table no muere y directamente no "siente" nada. En teoría si muere el que incluye debería morir el incluido (En esta caso si muere Page, debería morir Table).

Ahora que me fijo mejor en el ejemplo que mostrar ni siquiera Page incluye a Table, lo único que hace es crearlo y devolverlo (no lo almacena) osea que en éste ejemplo la relación es de uso (linea punteada).

Hice el siguiente código a ver si se entiende lo que yo entiendo por Composición:

Código PHP:
class Cuenta{
        private 
$numero '';

        public function 
__construct($numero){
                
$this->numero $numero;
        }

        public function 
getNumero(){ return $this->numero; }
}

class 
Banco{
        private 
$nombre '';
        private 
$direccion '';
        private 
$cuentas = array();

        public function 
__construct($nombre,$direccion){
                
$this->nombre $nombre;
                
$this->direccion $direccion;
        }

        public function 
agregarCuenta($numeroDeCuenta){
                
$this->cuentas[] = new Cuenta($numeroDeCuenta);
        }
}

$banco = new Banco('Nacion''Lejos de aca');
$banco->agregarCuenta(123);
$banco->agregarCuenta(1234);
$banco->agregarCuenta(12345); 
En este ejemplo si muere la instancia de Banco mueren todas las instancias de Cuenta que están almacenadas en Banco.

Saludos.