Programa de simulación C# "Aire acondicionado - control remoto"
Las dos clases escritas son: ?public?enum?Mode
{
Calefacción,
Refrigeración
}
public?enum?ArribaAbajo
{
Arriba,
Abajo
} p >
¿clase?pública?
{
¿privada?bool?powerOn;
¿modo?privado?modoactual;
privada ?int?currentTemp;
public?AirConditioner()
{
this.powerOn?=?false;
this currentMode. ?=?Modo.
this.currentTemp?=?16;
}
public?void?SwichPower()
{
this.powerOn?=?!powerOn;
}
interno?void?SetMode(Modo?modo)
{
this.currentMode?=?mode;
}
interno?void?SetTemp(UpDown?upDown)
{ p >
¿cambiar?(arribaAbajo)
{
caso?UpDown.Up:
si?(this.currentTemp?lt;=?30 )
{
this.currentTemp;
}
romper;
caso?UpDown.Down:
si?(this.currentTemp?gt;=?16)
{
this.currentTemp--;
}< / p>
descanso;
}
}
¿público?{0}\r\nModo:?{1}\r\nTemp: ? {2}",?this.powerOn "On"?Off", this.currentMode:?Off",?this.currentMode,?this.currentTemp);
}
}¿público?clase?RemoteController
{
¿privado?Aire acondicionado?acondicionador;
público?RemoteController()
{ p >
este.acondicionador?=?new?AirConditioner();
}
public?void?SwitchPower()
{
this.conditioner.SwichPower();
Console.WriteLine(this.conditioner);
}
public?SetMode(Modo?modo )
{
this.conditioner.SetMode(modo);
Console.WriteLine(this.conditioner);
}
¿público SetTemp(UpDown?upDown)
{
este.acondicionador.SetTemp(arribaAbajo);
Console.WriteLine(este.acondicionador);
} p>
}
p>
Público?WriteLine(this.conditioner);
}
}
Vale la pena señalar que "Ajustar la temperatura y cambiar el modo (controlar la calefacción, la refrigeración) no se puede lograr operando directamente el aire acondicionado".
Esta cláusula establece que estos métodos no pueden declararse como métodos públicos, pero se puede acceder a ellos mediante control remoto, por lo que deben declararse como métodos internos
Código de prueba: ?static?void?Main(string []?args )
{
var?controller ?=?new?RemoteController();
Console.WriteLine("¿Encender?el? acondicionador... (Enciende el aire acondicionado)");
controller.SwitchPower();
Console.WriteLine("=========== ======= ============================================ ===" );
Console.WriteLine("¿Apagar?el?acondicionador... \r\n");
controlador.SwitchPower(); p>
WriteLine("========================================. ======== =================" );
Console.WriteLine("¿Establecer?el?modo?como?\" refrigeración\"...\r \n");
controller.SetMode(Mode.Cooling);
Console.WriteLine("========= ========= ========================================= = ======");
Console.WriteLine("¿Establecer?el?modo?como?\"Calefacción\"... \r\n");
controller.SetMode(Modo.Calefacción) ;
Console.WriteLine("============================= ========== ==================== =======");
Console.WriteLine ("¿Turn?up?temp... \r\n");
controller.SetTemp(UpDown.Up);
Console.WriteLine("===== =========== ========================================= ====== ====" );
Console.WriteLine("Turn?down?temp...\r\n");
controlador.SetTemp (UpDown.Down);
}
Resultados de la ejecución:
Se adjunta el código fuente. Si tiene alguna pregunta, no dude en hacerla.