viernes, 20 de noviembre de 2015


  • Todo objeto es el ejemplo de una clase, y toda clase tiene 0 ó más objetos.
  • Mientras las clases son estáticas, con semántica, relaciones y existencia fijas previamente a la ejecución de un programa, los objetos se crean y destruyen rápidamente durante la actividad de una aplicación.
El diseño de clases y objetos es un proceso incremental e iterativo. Debe asegurar la optimización en los parámetros:
  1. Acoplamiento: Grado de acoplamiento entre módulos.
  2. Cohesión: Mide el grado de conectividad entre elementos de un módulo, y entre objetos de una clase.
  3. Suficiencia: Indica que las clases capturan suficientes características de la abstracción para conseguir un comportamiento e interacción eficiente y con sentido.
  4. Completitud: Indica que la interface de la clase captura todo el significado característico de una abstracción, escrito en el mínimo espacio.
  5. Primitividad: Las operaciones deben implementarse si dan acceso a una representación fundamental de la abstracción. Cuales son operaciones primitivas y cuales no (se pueden realizar a partir de otras) es un asunto subjetivo y afecta a la eficiencia en la implementación.
Ejemplo:

public class Cronometro {
  Horas h;
  Minutos m;
  Segundos s;

  String cadena;
  int seg,min,hor;

  public Cronometro() {
      seg=0;
      min=0;
      hor=0;
      h = new Horas();
      m = new Minutos();
      s = new Segundos();
      cadena = new String("0 : 0 : 0");
 }

  public String avanzar(){
      seg = s.forward();
      if(seg==0){
          min=m.forward();
          if(min==0){
              hor=h.forward();
          }
      }
      cadena = hor + " : " + min + " : " + seg;
      return cadena;
  }

  public String reset(){
      seg = s.reset();
      min = m.reset();
      hor = h.reset();
      cadena = hor + " : " + min + " : " + seg;
      return cadena;
  }
}

No hay comentarios.:

Publicar un comentario