Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.39 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3.  
  4. enum ALFABETY {
  5. Lacinka,
  6. Greka,
  7. Cyrylica
  8. }
  9.  
  10.  
  11. abstract class Fabryka
  12. {
  13.  
  14. public abstract Alfabet stworzAlfabet();
  15.  
  16. public static Fabryka wybierzFabryke(ALFABETY wybor)
  17. {
  18. switch (wybor)
  19. {
  20. case ALFABETY.Lacinka:
  21. return new LacinskaFabryka();
  22. case ALFABETY.Greka:
  23. return new GrekaFabryka();
  24. case ALFABETY.Cyrylica:
  25. return new CyrylicaFabryka();
  26. default:
  27. throw new NotImplementedException();
  28. }
  29. }
  30.  
  31. }
  32.  
  33. class CyrylicaFabryka : Fabryka
  34. {
  35. public override Alfabet stworzAlfabet()
  36. {
  37. return new AlfabetRosyjski();
  38. }
  39. }
  40. class GrekaFabryka : Fabryka
  41. {
  42. public override Alfabet stworzAlfabet()
  43. {
  44. return new AlfabetGrecki();
  45. }
  46. }
  47. class LacinskaFabryka : Fabryka
  48. {
  49. public override Alfabet stworzAlfabet()
  50. {
  51. return new AlfabetLacinski();
  52. }
  53. }
  54.  
  55.  
  56.  
  57. abstract class Alfabet
  58. {
  59.  
  60. public abstract string zwroc();
  61. public abstract void wyswietl();
  62. }
  63.  
  64.  
  65. class AlfabetLacinski : Alfabet
  66. {
  67.  
  68. public override void wyswietl()
  69. {
  70. Console.WriteLine("abcde");
  71. }
  72.  
  73. public override string zwroc()
  74. {
  75. return ("abcde");
  76. }
  77. }
  78. class AlfabetGrecki : Alfabet
  79. {
  80.  
  81. public override void wyswietl()
  82. {
  83. Console.WriteLine("αβγδε");
  84. }
  85.  
  86. public override string zwroc()
  87. {
  88. return "αβγδε";
  89. }
  90. }
  91. class AlfabetRosyjski : Alfabet
  92. {
  93.  
  94. public override void wyswietl()
  95. {
  96. Console.WriteLine("абвгд");
  97. }
  98.  
  99. public override string zwroc()
  100. {
  101. return "абвгд";
  102. }
  103. }
  104.  
  105.  
  106. public class Application
  107. {
  108. public static void Main(String[] args)
  109. {
  110. Console.OutputEncoding = Encoding.UTF8;
  111.  
  112.  
  113. Fabryka fabryka = Fabryka.wybierzFabryke(ALFABETY.Lacinka);
  114. Alfabet alfabet = fabryka.stworzAlfabet();
  115. alfabet.wyswietl();
  116.  
  117.  
  118. Fabryka fabryka2 = Fabryka.wybierzFabryke(ALFABETY.Greka);
  119. Alfabet alfabet2= fabryka2.stworzAlfabet();
  120. Console.WriteLine(alfabet2.zwroc());
  121.  
  122. Fabryka fabryka3 = Fabryka.wybierzFabryke(ALFABETY.Cyrylica);
  123. Alfabet alfabet3 = fabryka3.stworzAlfabet();
  124. Console.WriteLine(alfabet3.zwroc());
  125.  
  126.  
  127. }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement