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 17: Operativa

Las Interfaces

Aunque nuestra empresa nació con el objetivo de crear televisores, hemos hecho un estudio de mercado y hemos constadado que hay muchas personas que estarían interesadas en poder escuchar la radio a través de su televisor.

Esta especificación se plasma en el siguiente Diagrama de Clases de diseño con la Interfaz IRadio

Vamos a crearnos una Interfaz llamada IRadio en el paquete paqtvestandar

Este es el código Java correspondiente a la Interfaz IRadio del paquete paqtvestandar

package paqtvestandar;

public interface IRadio {
 public static final int AM = 1;
 public static final int FM = 2;
 public void setBanda(int banda);
 public int getBanda();
 public void setEmisora(double emisora);
 public double getEmisora();
 public void siguienteEmisora();
 public void emisoraAnterior();
 public void ajustarAntena();
 public void subirVolumen();
 public void bajarVolumen();
 public void encender();
 public void apagar();
}

Compilamos la Interfaz IRadio.

Ahora nos vamos a crear una nueva Clase en el paquete paqtvestandar llamada TeleRadioVirtual que va a heredar de la Calse TelevisorVirtual y va a implementar de la Interfaz IRadio

Este es el código Java del nuevo modelo de televisor llamado TeleRadioVirtual

package paqtvestandar;

public class TeleRadioVirtual extends TelevisorVirtual implements IRadio {

 private int banda = FM;
 private double emisora = 95.6;

 public void setBanda(int banda) {
  if ((banda == AM) || (banda == FM)){
   this.banda = banda;
  }
  else {
   this.banda = FM;
  }
 }

 public int getBanda() {
  return banda;
 }

 public void setEmisora(double emisora) {
  this.emisora = emisora;
 }

 public double getEmisora(){
  return emisora;
 }

 public void siguienteEmisora() {
  System.out.println("TeleRadioVirtual - siguienteEmisora(): pasamos a " +
                     "la siguiente emisora");
 }

 public void emisoraAnterior() {
  System.out.println("TeleRadioVirtual - emisoraAnterior(): pasamos a " +
                     "la emisora anterior");
 }

 public void ajustarAntena() {
  
// esta radio tiene una antena interna que no se puede ajustar
 }
}

Compilamos la Clase TeleRadioVirtual.

Ahora modificamos la Clase Aplicacion del paquete paqtvestandar para que en vez de crear una instancia de tipo TelevisorVirtual, cree una instancia de tipo TeleRadioVirtual

Al ejecutar la Clase Aplicacion tendremos que ver la siguiente salida

Este es parte del código de la Clase Aplicacion del paquete paqtvestandar

package paqtvestandar;

public class Aplicacion {

 public static void main(String[] args) {
  TeleRadioVirtual tv = new ...
  tv.encender();
  tv.setCanal(3);
  System.out.println("El canal seleccionado es el: " + tv.getCanal());
  tv.subirColor();
  tv.setSonido(false);
  System.out.println("El televisor tiene el sonido: " + tv.isSonido());
  tv.subirVolumen();
  System.out.println("La posición del volumen es: " + tv.getVolumen());
  System.out.println("El televisor tiene el sonido: " + tv.isSonido());
  tv.usarMenu();

  System.out.println("La radio tiene la banda: " + tv....
  System.out.println("La radio tiene la emisora: " + tv.
...
  tv.
siguienteEmisora();
  System.out.println("La radio tiene la banda: " + tv.
...
  tv.
setBanda(...
  System.out.println("La radio tiene la banda: " + tv.
...

  tv.apagar();
 }
}



Compara tu código con la solución propuesta

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 ...