Guest User

Untitled

a guest
May 23rd, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.12 KB | None | 0 0
  1. class Program
  2. {
  3. abstract class R2Factory
  4. {
  5. public abstract AbstractProductPloshina CreateProductPloshina();
  6. public abstract AbstractProductProstir CreateProductProstir();
  7. }
  8. class ConcreteFactoryR2 : R2Factory
  9. {
  10. private int a11, a12,a13,a14,a21,a22,a23,a24,a31,a32,a33,a34,x,y,z;
  11. public ConcreteFactoryR2(int a11,int a12,int a13,int a14,int a21, int a22, int a23, int a24, int a31, int a32, int a33, int a34, int x, int y, int z)
  12. {
  13. this.a11 = a11;
  14. this.a12 = a12;
  15. this.a13 = a13;
  16. this.a14 = a14;this.a21 = a21;this.a22 = a22;this.a23 = a23;this.a24 = a24;this.a31 = a31;
  17. this.a32 = a32;this.a33 = a33;this.a34 = a34;this.x = x;this.y = y; this.z = z;
  18. }
  19. public override AbstractProductPloshina CreateProductPloshina()
  20. {
  21. return new ProductPloshina(a11,a12,a13,a21,a22,a23,x,y);
  22. }
  23.  
  24. public override AbstractProductProstir CreateProductProstir()
  25. {
  26. return new ProductProstir(a11,a12,a13,a14,a21,a22,a23,a24,a31,a32,a33,a34,x,y,z);
  27. }
  28. }
  29.  
  30.  
  31. abstract class AbstractProductPloshina
  32. {
  33. public abstract void Show();
  34. public abstract void Output();
  35. }
  36.  
  37. abstract class AbstractProductProstir
  38. {
  39. public abstract void Show();
  40. public abstract void Output();
  41. }
  42.  
  43. class ProductPloshina : AbstractProductPloshina
  44. {
  45. private int a11,a12,a13,a21,a22,a23,x,y;
  46.  
  47.  
  48. public ProductPloshina(int a11, int a12,int a13,int a21, int a22, int a23, int x, int y)
  49. {
  50. this.a11 = a11;
  51. this.a12 = a12;
  52. this.a13 = a13;
  53. this.a21 = a21;
  54. this.a22 = a22;
  55. this.a23 = a23;
  56. this.x = x;
  57. this.y = y;
  58. }
  59. public override void Show()
  60. {
  61. Console.WriteLine("Коефiцiєнти перетворення: a11,a12,a13,a21,a22,a23");
  62. Console.WriteLine("{0},{1},{2},{3},{4},{5}", a11, a12, a13, a21, a22, a23);
  63. Console.WriteLine("Точка: ({0},{1})", x, y);
  64. }
  65. public override void Output()
  66. {
  67. int X = a11 * x + a12 * y + a13;
  68. int Y = a21 * x + a22 * y + a23;
  69. Console.WriteLine("Образ точки ({0},{1}): ({2},{3})", x, y, X, Y);
  70. }
  71. }
  72.  
  73. class ProductProstir : AbstractProductProstir
  74. {
  75. private int a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34, x, y, z;
  76. public ProductProstir(int a11, int a12,int a13, int a14, int a21, int a22, int a23, int a24, int a31, int a32, int a33, int a34, int x, int y, int z)
  77. {
  78. this.a11 = a11;
  79. this.a12 = a12;this.a13 = a13;this.a14 = a14;this.a21 = a21;this.a22 = a22;this.a23 = a23;this.a24 = a24;this.a31 = a31;
  80. this.a32 = a32; this.a33 = a33; this.a34 = a34;
  81. this.x = x;
  82. this.y = y;
  83. this.z = z;
  84. }
  85. public override void Show()
  86. {
  87. Console.WriteLine("Коефiцiєнти перетворення: a11,a12,a13,a14,a21,a22,a23,a24,a31,32,a33,a34");
  88. Console.WriteLine("{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}", a11, a12, a13, a14, a21, a22, a23, a24, a31, a32, a33, a34);
  89. Console.WriteLine("Точка: ({0},{1},{2})", x, y, z);
  90. }
  91. public override void Output()
  92. {
  93.  
  94. int X = a11 * x + a12 * y + a13 * z + a14;
  95. int Y = a21 * x + a22 * y + a23 * z + a24;
  96. int Z = a31 * x + a32 * y + a33 * z + a34;
  97. Console.WriteLine("Образ точки ({0},{1},{2}): ({3},{4},{5})", x, y, z, X, Y, Z);
  98. }
  99. }
  100.  
  101.  
  102. class Client
  103. {
  104. private AbstractProductPloshina abstractProductA;
  105. private AbstractProductProstir abstractProductB;
  106.  
  107. public Client(R2Factory factory1)
  108. {
  109. abstractProductB = factory1.CreateProductProstir();
  110. abstractProductA = factory1.CreateProductPloshina();
  111. }
  112. public void Run()
  113. {
  114. abstractProductA.Show();
  115. }
  116.  
  117. }
  118. static void Main(string[] args)
  119. {
  120.  
  121. }
  122. }
  123. }`введите сюда код`
  124.  
  125. class ConcreteFactoryR2 : R2Factory
  126. {
  127. private int a11;
  128. private int a12;
  129.  
  130. public ConcreteFactoryR2(int a11, int a12)
  131. {
  132. this.a11 = a11;
  133. this.a12 = a12;
  134. }
  135.  
  136. public override AbstractProductPloshina CreateProductPloshina()
  137. {
  138. return new ProductPloshina(a11, a12);
  139. }
  140.  
  141. public override AbstractProductProstir CreateProductProstir()
  142. {
  143. return new ProductProstir(a11, a12);
  144. }
  145. }
  146.  
  147.  
  148. static void Main(string[] args)
  149. {
  150. Client client = new Client(new ConcreteFactoryR2(123, 456));
  151. client.Run();
  152. }
Add Comment
Please, Sign In to add comment