コード例 #1
0
 public void HizDegistir(int gazYuzdesi, object sender)
 {
     if (sender is Sofor)
     {
         Sofor = sender as Sofor;
     }
     _mevcutHiz = _maxHiz * gazYuzdesi / 100;
     Console.WriteLine(_plaka + " plakalı arabanın şu anki hızı: " + _mevcutHiz + " km");
     BenHizlandim(_mevcutHiz, this); //bilgiyi veren tarafta tetiklenir.
 }
コード例 #2
0
        static void Main(string[] args)
        {
            //hızlanan bir araç 120 km hızı geçtikten sonra polis ceza kessin.

            //sofor ,gaza basacak
            //araba gaza basıldığında hızlanacak
            //polis nesnesi araba 120 km geçtiğinde ceza kesecek

            //1.sprint gaz değeri verildiğinde hızlanan araba.
            Araba araba = new Araba(200, "34 hf 1387");
            //araba.HizDegistir(95);
            //Console.ReadKey();

            //2.sprint polis 120 yi geçen arabaya ceza kessin.
            Polis polis = new Polis("Osman Yazıcı");

            araba.BenHizlandim += polis.HiziKontrolEt;//dinleme

            //Toz
            Toz toz = new Toz();

            araba.BenHizlandim += toz.Ucus;

            //Asfalt
            Asfalt asfalt = new Asfalt();

            toz.TozUcustu += asfalt.Agla;

            //araba.HizDegistir(95);


            //3. sprint söfor gaza bastıkca hızlanacaz.
            Sofor sofor = new Sofor("Alafortan Foni");

            sofor.GazaBastim += araba.HizDegistir;

            sofor.GazaBas(60);
            Console.ReadKey();
        }