Cita:
Iniciado por zsamer Me surgió una duda, con este buen topico:
Cuando tengo la siguiente situación podría ser considerada Composición?
Si yo no entiendo mal ésta no sería Composición... mas bien diría que tienen una relación de uso (que se representa con la linea puntuada).
Código:
Escuela - - - - - - - - - - - - - - - > Alumnos
Según lo que tengo entendido sobre Agregación es que la vida del objeto "Agregado" es independiente del "Agregador"... en cambio cuando es de Composición el tiempo de vida del primero muere con el segundo, se entiende?
Con código debería ser algo así (ejemplo sacados de
esta pagina):
Agregación:
Código PHP:
<?php
class Dao {
function getSomething() {
}
}
class Model {
var $dao;
function Model (& $dao) {
$this->dao=& $dao;
}
function doSomething () {
$this->dao->getSomething();
}
}
$dao=new Dao;
$model=new Model($dao);
$model->doSomething();
Composición:
Código PHP:
<?php
class LinkWidget {
}
class View {
var $linkWidget;
var $page;
function View () {
$this->linkWidget=new LinkWidget;
}
function renderPage () {
$this->page=$this->linkWidget->display()
}
}
?>
Saludos.