Diseñe una clase llamada Fan para representar a un fan.

IDIOMA: JAVA

DESAFÍO:

(La clase Fan) Diseñe una clase llamada Fan para representar a un fan. La clase contiene:
– Tres constantes denominadas LENTO, MEDIO y RÁPIDO con los valores 1, 2 y 3 para denotar la velocidad del ventilador.
– Un campo de datos int privado llamado velocidad que especifica la velocidad del ventilador (el valor predeterminado es LENTO).
– Un campo de datos booleanos privados nombrado en que especifica si el ventilador está encendido (el valor predeterminado es falso).
– Un campo de datos doble privado llamado radio que especifica el radio del ventilador (el valor predeterminado es 5).
– Un campo de datos de cadena llamado color que especifica el color del ventilador (el valor predeterminado es azul).
– Los métodos de acceso y mutador para los cuatro campos de datos.
– Un constructor parametrizado inicializa los objetos del ventilador a valores dados.
– Un método llamado toString () que devuelve una descripción de cadena para el ventilador. Si el ventilador está encendido, el método devuelve la velocidad, el color y el radio del ventilador en una cadena combinada. Si el ventilador no está encendido, el método devuelve el color y el radio del ventilador junto con la cadena “el ventilador está apagado” en una cadena combinada. Dibuje el diagrama UML para la clase y luego implemente la clase. Escriba un programa de prueba que cree dos objetos Fan. Asigne velocidad máxima, radio 10, color amarillo y enciéndalo al primer objeto. Asigne velocidad media, radio 5, color azul y apáguelo al segundo objeto. Muestre los objetos invocando su método toString.

SOLUTION:


public class Fan{
    public static final int SLOW=1,MEDIUM=2,FAST=3;
    int speed;
    boolean f_on;
    double radius;
    String color;
    
    Fan(){
        speed=SLOW;
        f_on = false;
        radius = 5;
        color = "blue";
    }
    
    Fan(int speed,double radius,String color,boolean f_on){
        this.speed=speed;
        this.radius=radius;
        this.color=color;
        this.f_on=f_on;
    }

    public void turnOff(){
        if(f_on){
            f_on=false;
            System.out.println("Turned off!");
        } else {
            System.out.println("Fan is already off!");
        }
    }

    public void setSpeed(int Speed){
        speed=Speed;
        System.out.println("Set speed as "+speed);
    }

    public void turnOn(){
        if(!f_on){
            f_on=true;
            System.out.println("Turned on!");
        } else {
            System.out.println("Fan is already running!");
        }
    }

    public void display(){
        if(f_on){
            System.out.println("Fan is on\nThe speed is="+speed+"\nthe color is ="+color);
        } else {
            System.out.println("Fan is off!");
        }
    }

    public static void main(String[] args){
        Fan fan=new Fan();
        fan.display();
        fan.turnOn();
        fan.turnOff();
        fan.turnOff();
        fan.setSpeed(SLOW);
    }
}