Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp2
- {
- class Program
- {
- static void Main(string[] args)
- {
- Ciasto tort1 = new Tort(0.5);
- tort1 = new BitaSmietana(0.1, tort1);
- tort1 = new MasaCukrowa(0, tort1);
- tort1.GetNazwa();
- }
- }
- abstract class Ciasto
- {
- public string nazwa;
- public double waga;
- public double cena_kg;
- protected Ciasto(double waga)
- {
- this.waga = waga;
- }
- public void GetNazwa()
- {
- Console.WriteLine(nazwa + " " + waga + "kg");
- }
- }
- class Dekorator:Ciasto
- {
- protected Ciasto ciasto;
- public Dekorator(double waga,Ciasto _ciasto) : base(waga)
- {
- this.ciasto = _ciasto;
- this.nazwa =_ciasto.nazwa;
- this.waga = _ciasto.waga + waga;
- }
- }
- class BitaSmietana : Dekorator
- {
- public BitaSmietana(double waga, Ciasto _ciasto) : base(waga, _ciasto)
- {
- this.nazwa = _ciasto.nazwa + " bita smietana";
- this.cena_kg = _ciasto.cena_kg + System.Math.Round(waga * 18);
- }
- }
- class OwoceKandyzowane : Dekorator
- {
- public OwoceKandyzowane(double waga, Ciasto _ciasto) : base(waga, _ciasto)
- {
- this.nazwa = _ciasto.nazwa + " owoce kandyzowane";
- this.cena_kg = _ciasto.cena_kg+System.Math.Round(waga * 23);
- }
- }
- class MasaCukrowa : Dekorator
- {
- public MasaCukrowa(double waga, Ciasto _ciasto) : base(waga, _ciasto)
- {
- this.nazwa = _ciasto.nazwa + " masa cukrowa";
- this.cena_kg = _ciasto.cena_kg*0.1;
- }
- }
- class Tort : Ciasto
- {
- public Tort(double waga) : base(waga)
- {
- this.nazwa = "tort";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement