Ver Mensaje Individual
  #8 (permalink)  
Antiguo 22/02/2009, 22:10
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: Problema con Interface

Estimado, erraste el tag para el código fuente, estás usando "quote" y no "php"

Ya te comentarion tus errores, pero te muestro el ejemplo en el cambio de tag al citar:

Código PHP:
<?php
require_once('interface.Parlanchin.php');
require_once(
'class.Gato.php');
require_once(
'class.Cucu.php');

class 
Aplicativo
{
    public static function 
hazleHablar(Parlanchin $sujeto)
    {
       
$sujeto->habla();
    }
    public static function 
main()
    {
       
self::hazleHablar(new Gato());
       
self::hazleHablar(new Cucu());
    }


echo 
Aplicativo::main();
Comentarios sobre el UML

Cita:
"La otra consulta es ¿es necesario que mi última clase(class.Aplicativo.php) esté en el diagrama de clases? Si fuera así ¿Qué tipo de relación habría con las otras clases?, ya que en Java no era necesario."
  1. No tiene mucho sentido una interfaz Parlanchin que deba implementar Animal, tal vez si pase para el caso de un Loro
  2. La clase Aplicativo la agregas si la necesitas para tu documentación, en lo personal considero que es muy importante que exista para lograr transmitir cómo se usan e invocan todas las clases que resuelven el "problema".
  3. El tipo de relación dependerá de tu diseño, pero si es una clase que lo único que hace es ejecutar la "solución", muy probablemente sea de "dependencia".
  4. Tu diagrama está mal, si desde Aplicativo necesitas hacer new a Gato y a Cucu, salen flechas de dependencia a esas dos clases.
  5. Lo de "Java no era necesario", no tiene sentido, UML es independiente del lenguaje, lo que estás comentando tal vez se base en tu experiencia al haber aprendido UML + Java, y nada tiene que ver si tu docente no lo agregaba en el diagrama.
  6. Nota aparte, eliminaría todos los "habla" del diagrama y lo dejaría en la interfaz, ya que se sobre entiende que estarán estos métodos en las clases inferiores.
  7. Cambia tu codificación y usa el estándar de Zend.
Dime si te quedan dudas.

PD: ves que el código coloreado y bien indentado se entiende mejor?

Si tu exposición es más clara y le dedicas un poco de tiempo, las respuestas serán mejores y más rápidas, ya que nos lleva menos tiempo entenderlas.
__________________
Blog phpsenior.com Cursos a Distancia surforce.com