SHARE
TWEET

Untitled

a guest Dec 8th, 2019 81 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3.  
  4. public interface ITelewizor
  5. {
  6.  
  7.     int Kanal { get; set; }
  8.     void Wlacz();
  9.     void Wylacz();
  10.     void ZmienKanal(int kanal);
  11.  
  12.  
  13. }
  14.  
  15.  
  16.  
  17. public class TvLg : ITelewizor
  18. {
  19.  
  20.     public TvLg()
  21.     {
  22.         this.Kanal = 1;
  23.     }
  24.  
  25.     public int Kanal { get; set; }
  26.  
  27.     public void Wlacz()
  28.     {
  29.         Console.WriteLine("Telewizor LG włączony.");
  30.     }
  31.  
  32.     public void Wylacz()
  33.     {
  34.         Console.WriteLine("Telewizor LG wyłączony.");
  35.     }
  36.  
  37.     public void ZmienKanal(int kanal)
  38.     {
  39.         Kanal = kanal;
  40.         Console.WriteLine("Telewizor LG, kanał: " + Kanal);
  41.     }
  42.  
  43. }
  44.  
  45.  
  46.  
  47. public class TvXiaomi : ITelewizor
  48. {
  49.     public TvXiaomi()
  50.     {
  51.         this.Kanal = 1;
  52.     }
  53.  
  54.     public int Kanal { get; set; }
  55.  
  56.     public void Wlacz()
  57.     {
  58.         Console.WriteLine("Telewizor Xiaomi włączony.");
  59.     }
  60.  
  61.     public void Wylacz()
  62.     {
  63.         Console.WriteLine("Telewizor Xiaomi wyłączony.");
  64.     }
  65.  
  66.     public void ZmienKanal(int kanal)
  67.     {
  68.         Kanal = kanal;
  69.         Console.WriteLine("Telewizor Xiaomi, kanał: " + Kanal);
  70.     }
  71. }
  72.  
  73.  
  74.  
  75. public abstract class PilotAbstrakcyjny
  76. {
  77.  
  78.     private ITelewizor tv;
  79.  
  80.     public PilotAbstrakcyjny(ITelewizor tv)
  81.     {
  82.         this.tv = tv;
  83.     }
  84.  
  85.     public void Wlacz()
  86.     {
  87.         tv.Wlacz();
  88.     }
  89.  
  90.     public void Wylacz()
  91.     {
  92.         tv.Wylacz();
  93.     }
  94.  
  95.     public void ZmienKanal(int kanal)
  96.     {
  97.         tv.ZmienKanal(kanal);
  98.     }
  99.  
  100. }
  101.  
  102.  
  103.  
  104. public class PilotHarmony : PilotAbstrakcyjny
  105. {
  106.  
  107.     public PilotHarmony(ITelewizor tv) : base(tv) { }
  108.  
  109.     public void DoZmienKanal(int kanal)
  110.     {
  111.         Console.WriteLine("Pilot Harmony zmienia kanał...");
  112.         ZmienKanal(kanal);
  113.     }
  114.  
  115.     public void DoWlacz()
  116.     {
  117.         Console.WriteLine("Pilot Harmony włącza telewizor...");
  118.         Wlacz();
  119.     }
  120.  
  121.     public void DoWylacz()
  122.     {
  123.         Console.WriteLine("Pilot Harmony wyłącza telewizor...");
  124.         Wylacz();
  125.     }
  126.  
  127. }
  128.  
  129. public class PilotPhilips : PilotAbstrakcyjny
  130. {
  131.  
  132.     public PilotPhilips(ITelewizor tv) : base(tv) { }
  133.  
  134.     public void DoZmienKanal(int kanal)
  135.     {
  136.         Console.WriteLine("Pilot Philips zmienia kanał...");
  137.         ZmienKanal(kanal);
  138.     }
  139.  
  140.     public void DoWlacz()
  141.     {
  142.         Console.WriteLine("Pilot Philips włącza telewizor...");
  143.         Wlacz();
  144.     }
  145.  
  146.     public void DoWylacz()
  147.     {
  148.         Console.WriteLine("Pilot Philips wyłącza telewizor...");
  149.         Wylacz();
  150.     }
  151.  
  152. }
  153.  
  154.  
  155.  
  156. class MainClass
  157. {
  158.     public static void Main(string[] args)
  159.     {
  160.  
  161.         ITelewizor tv = new TvLg();
  162.         PilotHarmony pilotHarmony = new PilotHarmony(tv);
  163.         PilotPhilips pilotPhilips = new PilotPhilips(tv);
  164.  
  165.  
  166.         pilotHarmony.DoWlacz();
  167.         Console.WriteLine("Kanał: " + tv.Kanal);
  168.         pilotPhilips.DoZmienKanal(100);
  169.         Console.WriteLine("Kanał: " + tv.Kanal);
  170.         pilotHarmony.DoWylacz();
  171.  
  172.     }
  173. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top