Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/05/2010, 05:49
Avatar de enriqueplace
enriqueplace
 
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: modelando Clases

La relación debe ser "composición" (no tiene sentido la existencia de "detalle" sin la relación con factura, por lo tanto es una "relación de vida" entre ambas clases) y el diagrama UML sería el siguiente:



y la traducción a código sería:

Factura.php
Código PHP:
require_once 'FacturaDetalle.php';

class 
Factura
{
    private 
$_colDetalle = array();

    public function 
addDetalle(FacturaDetalle $detalle)
   {
      
$this->_colDetalle[] = $detalle;
   }

FacturaDetalle.php
Código PHP:
class FacturaDetalle
{
   
/** código de la clase **/

Forma de uso: index.php

Código PHP:
require_once 'Factura.php';
require_once 
'FacturaDetalle.php';

abstract 
Index
 
{
   public static function 
main()
   {
      
$factura = new Factura();

      
// Agrego 4 detalles a la factura

      
$factura->addDetalle(new FacturaDetalle());
      
$factura->addDetalle(new FacturaDetalle());
      
$factura->addDetalle(new FacturaDetalle());
      
$factura->addDetalle(new FacturaDetalle());
   }
}

Index::main(); 
Más información sobre el tema de diagramas y traducción de relaciones

Saludos!
__________________
Blog phpsenior.com Cursos a Distancia surforce.com