Пример #1
0
        static void Main(string[] args)
        {
            Fahrzeug myBMW = new Fahrzeug("BMW", 200, 500000, 100, Fahrzeug.Zustand.Stehend);

            Console.WriteLine($"{myBMW.Name}");
            int geschw = myBMW.Beschleunige(50);

            Console.WriteLine($"{geschw}");

            myBMW.Startemotor();

            Console.WriteLine($"myBMW.Beschreibemich(): {myBMW.Beschreibemich()}");

            myBMW.Stoppemotor();

            Console.WriteLine($"myBMW.Beschreibemich(): {myBMW.Beschreibemich()}");

            Flugzeug myBoeing = new Flugzeug("Boeing", 1000, 50000, 500, Fahrzeug.Zustand.Fahrend, "USA");

            Console.WriteLine($"myBoeing.Beschreibemich(): {myBoeing.Beschreibemich()}");

            Schiff Titanik = new Schiff("Titanik", 5000, 100000, 500, Fahrzeug.Zustand.Fahrend, "USA");

            Console.WriteLine($"Titanik.Beschreibemich(): {Titanik.Beschreibemich()}");


            PKW Opel = new PKW("Opel", 200, 10000, 500, Fahrzeug.Zustand.Fahrend, "Germany");

            Console.WriteLine($"Opel.Beschreibemich(): {Opel.Beschreibemich()}");

            Flugzeug flieger1 = new Flugzeug("Boeing", 800, 3000000, 500, Fahrzeug.Zustand.Stehend, "USA", 9000, 800);

            foreach (var item in flieger1)
            {
                Console.WriteLine($"item:{item}");
            }
            string testeArrayÄhnlichkeit = flieger1[2];

            Console.WriteLine($"testeArrayÄhnlichkeit:{testeArrayÄhnlichkeit}");



            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Fahrzeug fahrzeug = new Fahrzeug();
            //Beispiel -> Param. Konstruktor
            Fahrzeug einFahrzeug      = new Fahrzeug("BMW", 2019, 220);
            Fahrzeug weiteresFahrzeug = new Fahrzeug("Audi", 2020, 250);

            Console.WriteLine($"Marke: {einFahrzeug.Marke} \t mit Baujahr: {einFahrzeug.Baujahr} \t besitzt eine maximale Geschwindigkeit von: {einFahrzeug.MaxGeschwindigkeit}");
            Console.WriteLine($"Marke: {weiteresFahrzeug.Marke} \t mit Baujahr: {weiteresFahrzeug.Baujahr} \t besitzt eine maximale Geschwindigkeit von: {weiteresFahrzeug.MaxGeschwindigkeit}");


            einFahrzeug.Beschleunige(100);
            double mphGeschwindigkeit = Fahrzeug.KmhToMph(einFahrzeug.AktGeschwindigkeit);

            Console.WriteLine($"{einFahrzeug.Marke} fährt {einFahrzeug.AktGeschwindigkeit} kmh und umgerechnet {mphGeschwindigkeit} mph");
            weiteresFahrzeug.Beschleunige(120);

            Console.WriteLine(Fahrzeug.ZeigeAnzahlFahrzeuge());


            #region Vererbung

            PKW pkw  = new PKW("BMW", 2019, 220, 4, 4);
            PKW pkw1 = new PKW("Ford", 2018, 180, 5, 4);

            pkw.Beschleunige(50);

            Console.WriteLine($"{pkw.Marke} \t {pkw.Baujahr} \t {pkw.MaxGeschwindigkeit} / {pkw.AktGeschwindigkeit} \t - Anzahl Türen: {pkw.AnzahlTueren} \t Anzahl Räder: {pkw.AnzahlRaeder}");

            Yacht yacht = new Yacht("Kühne", 1955, 12, Schiff.Schifftreibstoff.Diesel, 2, 2000000);


            Schiff schiff = new Schiff("BlubbBlubbWerft", 1954, 13, Schiff.Schifftreibstoff.Diesel, 2);
            #endregion

            Yacht yacht1 = new Yacht(schiff, 2000000, true);

            Console.ReadKey();


            Console.WriteLine("Garagen Beispiel - Polymorphie");

            Garage garage = new Garage();
            garage.Einparken(pkw);
            garage.Einparken(pkw1);
            garage.Einparken(schiff);
            garage.Einparken(yacht);

            foreach (Fahrzeug currentFahrzeug in garage.FahrzeugListe)
            {
                if (currentFahrzeug is ITuev)
                {
                    ITuev tuev = (ITuev)currentFahrzeug;
                    if (tuev.MussFahrzeugZumTüv())
                    {
                        Console.WriteLine("Muss zum Tuev");
                    }
                }
            }


            //List<PKW> resultList = garage.ZeigeAllePKWSInGarageAn();

            //foreach (PKW currentPKW in resultList)
            //{
            //    Console.WriteLine($"{currentPKW.Marke} \t {currentPKW.Baujahr} \t {currentPKW.MaxGeschwindigkeit} / {currentPKW.AktGeschwindigkeit} \t - Anzahl Türen: {currentPKW.AnzahlTueren} \t Anzahl Räder: {currentPKW.AnzahlRaeder}");

            //    if (currentPKW is ITuev)
            //    {
            //        Console.WriteLine("Hier kann man nach dem Tuevjahr prüfen)");

            //        if (currentPKW.MussFahrzeugZumTüv())
            //            Console.WriteLine("Muss zum Tüv");
            //    }
            // }


            //Dictionaries arbeitet mit der Klasse KeyValue
            Dictionary <string, PKW> autoRegister = new Dictionary <string, PKW>();
            Dictionary <Guid, PKW>   register2    = new Dictionary <Guid, PKW>();

            register2.Add(Guid.NewGuid(), pkw);
            register2.Add(Guid.NewGuid(), pkw1);

            Guid id = Guid.NewGuid();

            autoRegister.Add(id.ToString(), pkw);
            autoRegister.Add(Guid.NewGuid().ToString(), pkw1);

            //Contain Key
            if (autoRegister.ContainsKey(id.ToString()))
            {
                PKW pkw2 = (PKW)autoRegister[id.ToString()];
            }

            if (autoRegister.ContainsValue(pkw))
            {
            }

            //KeyValuePair ist für das Lesen von Dictionaries
            foreach (KeyValuePair <string, PKW> kvp in autoRegister)
            {
                Console.WriteLine("Key = {0}, Value = {1}", kvp.Key, kvp.Value);
            }



            Console.ReadKey();
        }