Guest User

Untitled

a guest
Feb 19th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.50 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace McCar
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. Serwis mc_serwis = new Serwis();
  13. Samochod mc_car = new Samochod();
  14. mc_car.Delegacja(mc_serwis.Napraw);
  15. mc_car.JedzSamochodem();
  16. }
  17. }
  18. interface Czesci
  19. {
  20. void PodajStan();
  21. }
  22.  
  23. class Samochod : Czesci
  24. {
  25. public delegate void Delegat(Samochod do_naprawy);
  26. public void Delegacja(Delegat delegat)
  27. {
  28. if (delegat != null)
  29. delegat(this);
  30. }
  31. public void PodajStan()
  32. {
  33. podwozie_samochodu.PodajStan();
  34. nadwozie_samochodu.PodajStan();
  35. silnik_samochodu.PodajStan();
  36. System.Console.WriteLine("Samochod wydaje sie byc sprawny! Mozna odpalac!");
  37. System.Console.ReadKey();
  38. }
  39. public void JedzSamochodem()
  40. {
  41. PodajStan();
  42. silnik_samochodu.UruchomSilnik();
  43. System.Console.ReadKey();
  44. podwozie_samochodu.Jedz();
  45. System.Console.ReadKey();
  46. }
  47. private Podwozie podwozie_samochodu = new Podwozie();
  48. private Nadwozie nadwozie_samochodu = new Nadwozie();
  49. private Silnik silnik_samochodu = new Silnik();
  50. }
  51. class Podwozie : Czesci
  52. {
  53. public void PodajStan()
  54. {
  55. skrzynia_biegow_samochodu.PodajStan();
  56. for (int i = 0; i < 4; i++) kola[i].PodajStan();
  57. System.Console.WriteLine("-Podwozie sprawne!");
  58. }
  59. public Podwozie()
  60. {
  61. for (int i = 0; i < 4; i++)
  62. kola[i] = new Kolo();
  63. }
  64. public void Jedz()
  65. {
  66. for (int i = 0; i < 4; i++) kola[i].Obracaj();
  67. }
  68. private Kolo[] kola = new Kolo[4];
  69. private SkrzyniaBiegow skrzynia_biegow_samochodu = new SkrzyniaBiegow();
  70. }
  71. class Kolo : Czesci
  72. {
  73. public void PodajStan()
  74. {
  75. System.Console.WriteLine("--Kolo obraca sie!");
  76. }
  77. public void Obracaj()
  78. {
  79. System.Console.WriteLine("Kolo kreci sie!");
  80. }
  81. }
  82. class SkrzyniaBiegow : Czesci
  83. {
  84. public void PodajStan()
  85. {
  86. System.Console.WriteLine("--Skrzynia biegow sprawna!");
  87. }
  88. }
  89. class Nadwozie : Czesci
  90. {
  91. public void PodajStan()
  92. {
  93. karoseria_samochodu.PodajStan();
  94. for (int i = 0; i < 5; i++) fotele_samochodu[i].PodajStan();
  95. kierownica_samochodu.PodajStan();
  96. System.Console.WriteLine("-Nadwozie sprawne!");
  97. }
  98. public Nadwozie()
  99. {
  100. for (int i = 0; i < 5; i++) fotele_samochodu[i] = new Fotel();
  101. }
  102. private Kierownica kierownica_samochodu = new Kierownica();
  103. private Fotel[] fotele_samochodu = new Fotel[5];
  104. private Karoseria karoseria_samochodu = new Karoseria();
  105. }
  106. class Kierownica : Czesci
  107. {
  108. public void PodajStan()
  109. {
  110. System.Console.WriteLine("--Kierownica obraca sie!");
  111. }
  112. }
  113. class Fotel : Czesci
  114. {
  115. public void PodajStan()
  116. {
  117. System.Console.WriteLine("--Fotel wygodny!");
  118. }
  119. }
  120. class Karoseria : Czesci
  121. {
  122. public void PodajStan()
  123. {
  124. System.Console.WriteLine("--Karoseria nie zarysowana!");
  125. }
  126. }
  127. class Silnik : Czesci
  128. {
  129. public void PodajStan()
  130. {
  131. tlok_silnika.PodajStan();
  132. wal_korbowy_silnika.PodajStan();
  133. System.Console.WriteLine("-Silnik sprawny!");
  134. }
  135. public void UruchomSilnik()
  136. {
  137. System.Console.WriteLine("Uruchamiam silnik!");
  138. }
  139. private Tlok tlok_silnika = new Tlok();
  140. private WalKorbowy wal_korbowy_silnika = new WalKorbowy();
  141. }
  142. class Tlok : Czesci
  143. {
  144. public void PodajStan()
  145. {
  146. System.Console.WriteLine("--Tlok tloczy!");
  147. }
  148. }
  149. class WalKorbowy : Czesci
  150. {
  151. public void PodajStan()
  152. {
  153. System.Console.WriteLine("--Wal korbowy sprawny!");
  154. }
  155. }
  156.  
  157. class Serwis
  158. {
  159. public void Napraw(Samochod do_naprawy)
  160. {
  161. Console.WriteLine("Naprawiam samochod!");
  162. }
  163. }
  164. }
Add Comment
Please, Sign In to add comment