Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp2
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. Ciasto tort1 = new Tort(0.5);
  14. tort1 = new BitaSmietana(0.1, tort1);
  15. tort1 = new MasaCukrowa(0, tort1);
  16. tort1.GetNazwa();
  17. }
  18. }
  19. abstract class Ciasto
  20. {
  21. public string nazwa;
  22. public double waga;
  23. public double cena_kg;
  24. protected Ciasto(double waga)
  25. {
  26. this.waga = waga;
  27. }
  28. public void GetNazwa()
  29. {
  30. Console.WriteLine(nazwa + " " + waga + "kg");
  31. }
  32. }
  33. class Dekorator:Ciasto
  34. {
  35. protected Ciasto ciasto;
  36.  
  37. public Dekorator(double waga,Ciasto _ciasto) : base(waga)
  38. {
  39. this.ciasto = _ciasto;
  40. this.nazwa =_ciasto.nazwa;
  41. this.waga = _ciasto.waga + waga;
  42. }
  43. }
  44. class BitaSmietana : Dekorator
  45. {
  46. public BitaSmietana(double waga, Ciasto _ciasto) : base(waga, _ciasto)
  47. {
  48. this.nazwa = _ciasto.nazwa + " bita smietana";
  49. this.cena_kg = _ciasto.cena_kg + System.Math.Round(waga * 18);
  50. }
  51. }
  52. class OwoceKandyzowane : Dekorator
  53. {
  54. public OwoceKandyzowane(double waga, Ciasto _ciasto) : base(waga, _ciasto)
  55. {
  56. this.nazwa = _ciasto.nazwa + " owoce kandyzowane";
  57. this.cena_kg = _ciasto.cena_kg+System.Math.Round(waga * 23);
  58. }
  59. }
  60. class MasaCukrowa : Dekorator
  61. {
  62. public MasaCukrowa(double waga, Ciasto _ciasto) : base(waga, _ciasto)
  63. {
  64. this.nazwa = _ciasto.nazwa + " masa cukrowa";
  65. this.cena_kg = _ciasto.cena_kg*0.1;
  66. }
  67. }
  68. class Tort : Ciasto
  69. {
  70. public Tort(double waga) : base(waga)
  71. {
  72. this.nazwa = "tort";
  73. }
  74. }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement