Guest User

Untitled

a guest
Dec 8th, 2019
123
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