using System;
using System.IO;
using System.Linq;
using System.Collections.Generic;
namespace CSharp_Shell
{
public static class Program
{
public static void Main()
{
// Criando ar condicionado
var arCondicionado = new ArCondicionado();
Console.WriteLine(arCondicionado.ToString());
// Ligando ar condicionado
arCondicionado.Ligar();
Console.WriteLine(arCondicionado.ToString());
// Aumentando 2 graus na temperatura
arCondicionado.AumentarTemperatura();
arCondicionado.AumentarTemperatura();
Console.WriteLine(arCondicionado.ToString());
// Diminuindo 1 grau na temperatura
arCondicionado.DiminuirTemperatura();
Console.WriteLine(arCondicionado.ToString());
}
}
// Classe abstrata - nao podemos criar objetos
// dela diretamente
public abstract class Eletrodomestico
{
public bool Ligado { get; set;}
public void Ligar()
{
Ligado = true;
}
public void Desligar()
{
Ligado = false;
}
}
// Classe ar condicionado é filha da classe Eletrodomestico
// Herda código da classe pai
public class ArCondicionado : Eletrodomestico
{
// Propriedade que armazena a Temperatura
// Inicia em 20
public int Temperatura {get; private set;} = 20;
// Aumenta a temperatura do ar condicionado
// Só funciona se estiver ligado e só
// aumenta até 25
public void AumentarTemperatura()
{
if(Ligado && Temperatura < 25)
{
Temperatura++;
}
}
// Diminui a temperatura do ar condicionado
// So funciona se estiver ligado e so diminui
// ate 15
public void DiminuirTemperatura()
{
if(Ligado && Temperatura > 15)
{
Temperatura--;
}
}
// Representação em string do objeto
public override string ToString()
{
if(Ligado)
{
return "O ar condicionado está ligado e com a temperatura em " + Temperatura + "°C";
}
else
{
return "O ar condicionado está desligado";
}
}
}
}
“First do it, then do it right, then do it better.”