Archivo Radio

radio

 

/*
 * This code is sample code, provided as-is, and we make no
 * warranties as to its correctness or suitability for
 * any purpose.
 *
 * We hope that it's useful to you. Enjoy.
 * Copyright 2004-13 LearningPatterns Inc.
 */

/*
 * Lab - Interfaces
 *
 * This class defines a Radio. It will implement Volume easily
 *
 *
 * This class performs no data validation; however, it
 * mutes/unmutes appropriately, i.e., can't mute a muted
 * Radio
 */

package com.entertainment;

// TODO add in declaration for implementing Volume
public class Radio

{
 // INSTANCE VARIABLES
 private int volume; // the volume

 // for muting behavior
 private int oldVolume;
 private boolean isMuted;

 // CONSTRUCTORS
 public Radio()
 {
 super();
 }

 public Radio(int volumeIn)
 {
 super();
 this.setVolume(volumeIn);
 }


 // ACCESSOR METHODS
 // from interface Volume
 public void setVolume(int volumeIn)
 {
 // delegate to contained VolumeControl object
 volume = volumeIn;
 }

/* TODO - Uncomment this method so Radio will compile after implementing the interface 
 // from interface IVolume
 public int getVolume()
 {
 return volume;
 }
*/

 // from interface IVolume
 // BEHAVIORAL METHODS
 public void mute()
 {
 if (!this.isMuted()) // not currently muted
 {
 // store current volume in oldVolume
 oldVolume = volume;
 
 // set volume to zero
 this.setVolume(0);
 }
 else // currently muted
 {
 // restore volume from oldVolume value
 this.setVolume(oldVolume);
 }
 
 // toggle muted flag
 isMuted = !isMuted;
 }
 

 // from interface IVolume
 public boolean isMuted()
 {
 // delegate to contained VolumeControl object
 return isMuted;
 }


 // returns a string representation of this class instance
 @Override
 public String toString()
 {
 // this method uses the "ternary" (three terms) operator
 // (expression ? true-value : false-value)
 // it's just a very compact if-else statement

 return "Radio: volume=" +
 (!this.isMuted() ? String.valueOf(volume) : "<muted>");
 }
}

Clase ColorTelevision

package com.entertaiment;

public class ColorTelevision extends Television {

 public ColorTelevision(String proveedor) {
 super(proveedor);
 
 }
 public ColorTelevision(String proveedor, int color) {
 super(proveedor);
 colorTv=color;
 }
 private int colorTv;
 
 public ColorTelevision(String marca, int volumen, String proveedor) {
 super(marca, volumen, proveedor);
 // TODO Auto-generated constructor stub
 }

 public String getMarca(){
 return super.getMarca()+" TV!";
 }
 public String toString(){
 return super.toString()+" | "+colorTv;
 }

}

Test Referencias y debug

testref

public class TestRefTest {

 public static void main(String[] args) {
 TestRef c1=new TestRef();
 TestRef c2=new TestRef();
 c1.numero=3;
 c1.texto="c1";
 c2.numero=30;
 c2.texto="c2";
 
 System.out.println(c1.toString());
 System.out.println(c2.toString());
 TestRef c3=c1;
 System.out.println(c3.toString());
 c3.texto="c3";
 System.out.println(c1.toString());
 System.out.println(c1==c3);
 c3.cambiar2(c1);
 System.out.println(c1.toString());
 c3.texto="c2";
 System.out.println(c1==c3);
 //Destruir objetos
 c1=null;
 c3=null;
 for(int i=0;i<10;i++){
 System.out.println(i);
 }
 
 }

}

La clase:

public class TestRef {
 public int numero;
 public String texto;
 public String toString(){
 return numero+"|"+texto;
 }
 public void cambiar(TestRef c){
 c=null;
 }
 public void cambiar2(TestRef c){
 c.texto="CAMBIADO";
 }
}