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;
- namespace McCar
- {
- class Program
- {
- static void Main(string[] args)
- {
- Serwis mc_serwis = new Serwis();
- Samochod mc_car = new Samochod();
- mc_car.Delegacja(mc_serwis.Napraw);
- mc_car.JedzSamochodem();
- }
- }
- interface Czesci
- {
- void PodajStan();
- }
- class Samochod : Czesci
- {
- public delegate void Delegat(Samochod do_naprawy);
- public void Delegacja(Delegat delegat)
- {
- if (delegat != null)
- delegat(this);
- }
- public void PodajStan()
- {
- podwozie_samochodu.PodajStan();
- nadwozie_samochodu.PodajStan();
- silnik_samochodu.PodajStan();
- System.Console.WriteLine("Samochod wydaje sie byc sprawny! Mozna odpalac!");
- System.Console.ReadKey();
- }
- public void JedzSamochodem()
- {
- PodajStan();
- silnik_samochodu.UruchomSilnik();
- System.Console.ReadKey();
- podwozie_samochodu.Jedz();
- System.Console.ReadKey();
- }
- private Podwozie podwozie_samochodu = new Podwozie();
- private Nadwozie nadwozie_samochodu = new Nadwozie();
- private Silnik silnik_samochodu = new Silnik();
- }
- class Podwozie : Czesci
- {
- public void PodajStan()
- {
- skrzynia_biegow_samochodu.PodajStan();
- for (int i = 0; i < 4; i++) kola[i].PodajStan();
- System.Console.WriteLine("-Podwozie sprawne!");
- }
- public Podwozie()
- {
- for (int i = 0; i < 4; i++)
- kola[i] = new Kolo();
- }
- public void Jedz()
- {
- for (int i = 0; i < 4; i++) kola[i].Obracaj();
- }
- private Kolo[] kola = new Kolo[4];
- private SkrzyniaBiegow skrzynia_biegow_samochodu = new SkrzyniaBiegow();
- }
- class Kolo : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Kolo obraca sie!");
- }
- public void Obracaj()
- {
- System.Console.WriteLine("Kolo kreci sie!");
- }
- }
- class SkrzyniaBiegow : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Skrzynia biegow sprawna!");
- }
- }
- class Nadwozie : Czesci
- {
- public void PodajStan()
- {
- karoseria_samochodu.PodajStan();
- for (int i = 0; i < 5; i++) fotele_samochodu[i].PodajStan();
- kierownica_samochodu.PodajStan();
- System.Console.WriteLine("-Nadwozie sprawne!");
- }
- public Nadwozie()
- {
- for (int i = 0; i < 5; i++) fotele_samochodu[i] = new Fotel();
- }
- private Kierownica kierownica_samochodu = new Kierownica();
- private Fotel[] fotele_samochodu = new Fotel[5];
- private Karoseria karoseria_samochodu = new Karoseria();
- }
- class Kierownica : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Kierownica obraca sie!");
- }
- }
- class Fotel : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Fotel wygodny!");
- }
- }
- class Karoseria : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Karoseria nie zarysowana!");
- }
- }
- class Silnik : Czesci
- {
- public void PodajStan()
- {
- tlok_silnika.PodajStan();
- wal_korbowy_silnika.PodajStan();
- System.Console.WriteLine("-Silnik sprawny!");
- }
- public void UruchomSilnik()
- {
- System.Console.WriteLine("Uruchamiam silnik!");
- }
- private Tlok tlok_silnika = new Tlok();
- private WalKorbowy wal_korbowy_silnika = new WalKorbowy();
- }
- class Tlok : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Tlok tloczy!");
- }
- }
- class WalKorbowy : Czesci
- {
- public void PodajStan()
- {
- System.Console.WriteLine("--Wal korbowy sprawny!");
- }
- }
- class Serwis
- {
- public void Napraw(Samochod do_naprawy)
- {
- Console.WriteLine("Naprawiam samochod!");
- }
- }
- }
Add Comment
Please, Sign In to add comment