JavaDabbaDoo.org -Tu comunidad Java parlante Fundamentos
Inicio | Cursos infosintesis.net liberados | JavaSE | Iniciación a la Orientación a Objetos paso a paso
Creación de un Televisor estándar
Paso 8: Operativa

Herencia a través de las relaciones de Generalización

Después de mucho trabajo y esfuerzo hemos conseguido crear un televisor estándar con una funcionalidad suficiente para poder ser utilizado.

A partir de este televisor estándar, vamos a crear un nuevo televisor que tendrá una funcionalidad añadida

Este es su Diagrama de Clases de Diseño correspondiente

Ahora vamos a crear una nueva Clase llamada TelevisorVirtual que va a heredar de la Clase Televisor

Este es el código de la Clase TelevisorVirtual

package paqtvestandar;

public class TelevisorVirtual extends Televisor {
 private boolean sonido = true;

 public void setSonido(boolean valorSonido){
  sonido = valorSonido;
 }

 public
boolean isSonido(){
  return sonido;
 }

}

Compilamos la Clase TelevisorVirtual.

Para que la Clase Aplicacion pueda interactuar con la Clase TelevisorVirtual, vamos a tener que realizar bastantes cambios en la Clase Aplicacion.

Ahora vamos a hacer que la Clase Aplicacion_1 interactúe con la Clase Televisor_1.

package paqtvestandar;
public class Aplicacion_1 {

 public static void main(String[] args) {
  Televisor_1 tv;
  tv = new Televisor_1();
  System.out.println("El canal por defecto es el: " + tv.getCanal());
  tv.setCanal(3);
  System.out.println("El canal seleccionado es el: " + tv.getCanal());
  tv.subirCanal();
  System.out.println("El canal seleccionado es el: " + tv.getCanal());
  tv.bajarCanal();
  System.out.println("El canal seleccionado es el: " + tv.getCanal());
  Televisor_1 televisor = new Televisor_1(-5);
  
System.out.println("El canal del segundo televisor es el: " +                       televisor.getCanal());
  System.out.println("El canal seleccionado es el: " + tv.getCanal());

  tv.subirColor();
  // tv.subirColorAyuda();
 }
}

Modificación por completo de la Clase Aplicacion

Este es el nuevo código que sustituye al código anterior de Clase Aplicacion

package paqtvestandar;
public class Aplicacion {

 public static void main(String[] args) {
  TelevisorVirtual tv = new TelevisorVirtual();
  tv.setCanal(3);
  System.out.println("El canal seleccionado es el: " + tv.getCanal());
  tv.subirColor();
  tv.setSonido(false); // Desactivamos el sonido
  System.out.println("El televisor tiene el sonido: " +
tv.isSonido());
 }
}

Al ejecutar la Clase Aplicacion vemos los siguientes mensajes

Página anterior
Ignasi Pérez Valls
fundador-director Infosintesis Solutions Group
asesor-formador independiente
ignasiperez[ARROBA]javadabbadoo[PUNTO]org
Diciembre 2008
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...