Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.44 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 Policja
  8. {
  9.     //Klasa reprezentująca klaskon
  10.     class Klakson
  11.     {
  12.         // Funkcja statyczna symulująca działanie klaksona
  13.         public static String uruchom()
  14.         {
  15.             return "Tit! Tit!";
  16.         }
  17.     }
  18.  
  19.     //Klasa reprezentująca samochód policyjny
  20.     class PoliceCar
  21.     {
  22.         /*
  23.          * Atrybuty klasy PoliceCar
  24.          * numerSamochodu - parametr określający numer samochodu policyjnego
  25.          * syrenyWlaczone - zmienna sterująca czy samochód ma włączone syreny
  26.          * czyJedzie - zmienna sterująca czy samochód jedzie
  27.          */
  28.         String numerSamochodu;
  29.         Boolean syrenyWlaczone;
  30.         Boolean czyJedzie;
  31.  
  32.         //Konstruktor klasy PoliceCar z jednym parametrem (numer samochodu). Domyślnie samochód nie jedzie i nie ma włączonych syren
  33.         public PoliceCar(String numerSamochodu)
  34.         {
  35.             this.numerSamochodu = numerSamochodu;
  36.             this.czyJedzie = false;
  37.             this.syrenyWlaczone = false;
  38.         }
  39.  
  40.         //Konstruktor kopiujący klasy PoliceCar
  41.         public PoliceCar(PoliceCar innySamochod)
  42.         {
  43.             this.czyJedzie = innySamochod.czyJedzie;
  44.             this.syrenyWlaczone = innySamochod.syrenyWlaczone;
  45.             this.numerSamochodu = innySamochod.numerSamochodu;
  46.         }
  47.  
  48.         // Metoda symulująca uruchomienie silnika
  49.         public void uruchomSilnik()
  50.         {
  51.             Console.WriteLine("Samochod numer: " + numerSamochodu + ": Wrum wrum - silnik wlaczony");
  52.         }
  53.  
  54.         // Metoda zmieniająca stan syreny (włączona lub nie)
  55.         public void zmienStanSyreny(Boolean wlaczone)
  56.         {
  57.             syrenyWlaczone = wlaczone;
  58.             if (syrenyWlaczone)
  59.             {
  60.                 Console.WriteLine("Samochod numer: " + numerSamochodu + ": syreny wlaczone!");
  61.             }
  62.             else
  63.             {
  64.                 Console.WriteLine("Samochod numer: " + numerSamochodu + ": syreny wylaczone!");
  65.             }
  66.         }
  67.  
  68.         /*
  69.          * Metoda symulująca dźwięk klaksonu samochodu.
  70.          * Klakson.uruchom() -> wywołanie metody statycznej z klasy Klakson
  71.          */
  72.         public void klakson()
  73.         {
  74.             Console.WriteLine("Samochod numer: " + numerSamochodu + ": " + Klakson.uruchom());
  75.         }
  76.  
  77.         //Metoda wymulująca akcję jechania samochodu
  78.         public void jedz()
  79.         {
  80.             czyJedzie = true;
  81.             Console.WriteLine("Samochod numer: " + numerSamochodu + ": Jedziemy!");
  82.         }
  83.  
  84.         //Metoda wymulująca akcję zatrzymania samochodu. Jeśli samochód nie jechał przed jej wywołaniem wyświetlany jest komunikat "przeciez stoje"
  85.         public void zatrzymajSie()
  86.         {
  87.             if (czyJedzie)
  88.             {
  89.                 czyJedzie = false;
  90.                 Console.WriteLine("Samochod numer: " + numerSamochodu + ": Stop!");
  91.             }
  92.             else
  93.             {
  94.                 Console.WriteLine("Samochod numer: " + numerSamochodu + ": Przeciez stoje!");
  95.             }
  96.         }
  97.  
  98.         //Metoda symulująca wyłączenie silnika samochodu
  99.         public void zgasSilnik()
  100.         {
  101.             Console.WriteLine("Samochod numer: " + numerSamochodu + ": Prr - silnik wylaczony");
  102.         }
  103.  
  104.         //Metoda odpowiedzialna za zmianę numeru samochodu
  105.         public void zmienNumerSamochodu(String nowyNumer)
  106.         {
  107.             this.numerSamochodu = nowyNumer;
  108.         }
  109.  
  110.     }
  111.  
  112.     class Program
  113.     {
  114.         //Główna funckja programu
  115.         static void Main(string[] args)
  116.         {
  117.             //Utworzenie nowego pojazdu policyjnego o numerze "ABCD123"
  118.             PoliceCar policja = new PoliceCar("ABCD123");
  119.             //Wywołanie poszczególnych metod z klasy PoliceCar
  120.             policja.uruchomSilnik();
  121.             policja.jedz();
  122.             policja.zmienStanSyreny(true);
  123.             policja.klakson();
  124.             policja.zatrzymajSie();
  125.             policja.zmienStanSyreny(false);
  126.             policja.zgasSilnik();
  127.             //Utworzenie nowej instancji klasy PoliceCar za pomocą konstruktora kopiującego
  128.             PoliceCar policja2 = new PoliceCar(policja);
  129.             policja2.zmienNumerSamochodu("AAABBB123");
  130.             policja2.klakson();
  131.             Console.ReadLine();
  132.         }
  133.     }
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement