Witam
Napisałam kod do mostu z wzorców projektowych ale mam kilka błędów
using System;
public interface ITelewizor
{
int Kanal { get; set; }
void Wlacz();
void Wylacz();
void ZmienKanal(int kanal);
}
public class TvLg : ITelewizor
{
public TvLg()
{
this.Kanal = 1;
}
public int Kanal { get; set; }
public void Wlacz()
{
Console.WriteLine("Telewizor LG włączony.");
}
public void Wylacz()
{
Console.WriteLine("Telewizor LG wyłączony.");
}
public void ZmienKanal(int kanal)
{
Console.WriteLine("Telewizor LG, kanał: {0}", kanal);
}
}
public class TvXiaomi : ITelewizor
{
public TvXiaomi()
{
this.Kanal = 1;
}
public int Kanal { get; set; }
public void Wlacz()
{
Console.WriteLine("Telewizor Xiaomi włączony.");
}
public void Wylacz()
{
Console.WriteLine("Telewizor Xiaomi wyłączony.");
}
public void ZmienKanal(int kanal)
{
Console.WriteLine("Telewizor Xiaomi, kanal: {0}", kanal);
}
}
public abstract class PilotAbstrakcyjny
{
private ITelewizor tv;
public PilotAbstrakcyjny(ITelewizor tv)
{
pilotAbstrakcyjny = new PilotAbstrakcyjny();
}
public void Wlacz()
{
wlacz = new Wlacz();
}
public void Wylacz()
{
wylacz = new Wylacz();
}
public void ZmienKanal(int kanal)
{
zmienKanal = new ZmienKanal();
}
}
public class PilotHarmony : PilotAbstrakcyjny
{
public PilotHarmony(ITelewizor tv) : base(tv) { }
public void DoWlacz()
{
Console.WriteLine("Pilot Harmony włącza telewizor...");
Wlacz();
}
public void DoWylacz()
{
Console.WriteLine("Pilot Harmony wyłącza telewizor...");
Wylacz();
}
public void DoZmienKanal()
{
Console.WriteLine("Pilot Harmony zmienia kanał...");
ZmienKanal(kanal);
}
}
public class PilotPhilips : PilotAbstrakcyjny
{
public PilotPhilips(ITelewizor tv) : base(tv) { }
public void DoWlacz()
{
Console.WriteLine("Pilot Philips włącza telewizor...");
Wlacz();
}
public void DoWylacz()
{
Console.WriteLine("Pilot Philips wyłącza telewizor...");
Wylacz();
}
public void DoZmienKanal()
{
Console.WriteLine("Pilot Philips zmienia kanał...");
ZmienKanal(kanal);
}
}
class MainClass
{
public static void Main (string[] args)
{
ITelewizor tv = new TvLg();
ITelewizor tv = new TvXiaomi();
PilotHarmony = new pilotHarmony();
PilotPhilips = new pilotPhilips();
pilotHarmony.DoWlacz();
Console.WriteLine("Kanał: " + tv.Kanal);
pilotPhilips.DoZmienKanal(100);
Console.WriteLine("Kanał: " + tv.Kanal);
pilotHarmony.DoWylacz();
}
}
Wydaje mi się że coś nie tak napisałam w klasie Pilot Abstrakcyjny ale niestety nie wiem co mogłabym tam pozmieniać
Bo kod powinien wyświetlać coś takiego:
Pilot Harmony włącza telewizor...
Telewizor LG włączony.
Kanał: 1
Pilot Philips zmienia kanał...
Telewizor LG, kanał: 100
Kanał: 100
Pilot Harmony wyłącza telewizor...
Telewizor LG wyłączony.
Proszę o pomoc albo chociaż nakierowanie w jaki sposób powinnam to napisać