Example #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine();

            Fahrzeug dick = new Fahrzeug(11, 120, 14);

            Console.WriteLine(dick + "\n");

            Fahrrad butt = new Fahrrad(11, 100, 13, 14);

            Console.WriteLine(butt);

            butt.beladen(2);
            Console.WriteLine();
            Console.WriteLine(butt);
        }
Example #2
0
        static void Main(string[] args)
        {
            Fahrzeug fahrrad = new Fahrrad();

            // nicht möglich
            // Fahrrad fahrrad = new Fahrzeug();

            Console.WriteLine($"{(fahrrad.GetType()).GetType()}");

            Console.WriteLine($"{(typeof(Fahrrad)).GetType()}");

            Console.WriteLine($"{fahrrad.GetType() == typeof(Fahrrad)}");
            Console.WriteLine($"{fahrrad.GetType() == typeof(Fahrzeug)}");
            Console.WriteLine($"{Environment.NewLine}");

            Console.WriteLine($"{fahrrad is Fahrrad}");  // true
            Console.WriteLine($"{fahrrad is Fahrzeug}"); // true

            Console.ReadLine();
        }
Example #3
0
        static void Main(string[] args)
        {
            #region Klassen & static
            Console.WriteLine("\n ### Klassen & statische Methoden ###");
            Class1 class1 = new Class1();
            class1.Void();
            Class1.StaticVoid();
            #endregion

            #region Polymorphismus
            Console.WriteLine("\n ### Fahrrad & Polymorphismus ###");
            Transportmittel fahrrad1 = new Fahrrad("Nextbike", 400.00, 50, 2, 0);
            Fahrrad         fahrrad2 = new Fahrrad("Lidlbike", 300.00, 45, 2, 0);

            Console.WriteLine("\n # Overrides #");
            Console.WriteLine(fahrrad1.BeschreibeMich());
            Console.WriteLine(fahrrad2.BeschreibeMich());

            Console.WriteLine("\n # Overloads #");
            fahrrad1.Beschleunigen(5);
            fahrrad2.Beschleunigen(5);
            #endregion

            #region Interfaces
            Console.WriteLine("\n # Interfaces & Klassenverschachtelung #");
            bool kannBeladenWerden;
            kannBeladenWerden = FahrzeugBeladen(new Schiff("Marina", 200000.00, 300, Schiff.SchiffsTreibstoff.Diesel), new PKW("BMW", 20000.00, 250, 5, 4, 2000));
            Console.WriteLine($"Können Schiffe PKWs transportieren?: {kannBeladenWerden}");
            kannBeladenWerden = FahrzeugBeladen(new Fahrrad("Fordbike", 5000.00, 60, 2, 4444), new PKW("BMW", 20000.00, 250, 5, 4, 2000));
            Console.WriteLine($"Können Fahrräder PKWs transportieren?: {kannBeladenWerden}");
            #endregion

            #region Generics
            Console.WriteLine("\n ### Generische Datenstrukturen ###");
            Queue <Transportmittel> FahrzeugSchlange = new Queue <Transportmittel>();
            Stack <Transportmittel> FahrzeugStack    = new Stack <Transportmittel>();
            Dictionary <Transportmittel, Transportmittel> FahrzeugDictionary = new Dictionary <Transportmittel, Transportmittel>();

            Random random = new Random();

            //FahrzeugSchlange und Stack mit 10 zufällig erzeugten Fahrzeugtypen befüllen
            for (int i = 0; i < 10; i++)
            {
                Transportmittel neuesFahrzeug = null;

                switch ((Fahrzeugtypen)random.Next(3))
                {
                case Fahrzeugtypen.Flugzeug: neuesFahrzeug = new Flugzeug("Boing 474", 10000000, 800, 200, 6, 0); break;

                case Fahrzeugtypen.PKW: neuesFahrzeug = new PKW("Opel Astra", 20000, 190, 4, 4, 0); break;

                case Fahrzeugtypen.Schiff: neuesFahrzeug = new Schiff("Titanik", 100000000, 200, Schiff.SchiffsTreibstoff.Dampf); break;

                default: Console.WriteLine("Ungültiger Flugzeugtyp!"); break;
                }

                if (neuesFahrzeug != null)
                {
                    FahrzeugSchlange.Enqueue(neuesFahrzeug);
                    FahrzeugStack.Push(neuesFahrzeug);
                }
            }

            //Namen der FahrzeugSchlangen-Elemente ausgeben
            foreach (var item in FahrzeugSchlange)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("----------------");
            //Namen der FahrzeugStack-Elemente ausgeben
            foreach (var item in FahrzeugStack)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("----------------");

            for (int i = 0; i < 10; i++)
            {
                Transportmittel newElementFromQueue = FahrzeugSchlange.Dequeue();
                Transportmittel newElementFromStack = FahrzeugStack.Pop();
                if (FahrzeugBeladen(newElementFromQueue, newElementFromStack))
                {
                    FahrzeugDictionary.Add(newElementFromQueue, newElementFromStack);
                }
            }

            Console.WriteLine("----------------");

            foreach (var item in FahrzeugDictionary)
            {
                Console.WriteLine($"Beladbares Objekt {item.Key} hat {item.Value} beladen.");
            }

            #endregion



            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // (1) Fahrzeugobjekte anlegen
            Auto a1 = new Auto("LU 25958", "Toyota", "Corolla");
            Auto a2 = new Auto("LU 122298");

            a2.Marke                = "Volvo";
            a2.Typ                  = "V40";
            a2.Motor.Hubraum        = 1800; //ccm
            a2.Motor.Leistung       = 135;  //PS
            a2.Motor.AnzahlZylinder = 4;    //Zylinder
            a2.Motor.Bauart         = Motorbauuarten.ReihenMotor;
            Auto a3 = new Auto("LU 64624", "VW", "Käfer", 1500 /*ccm*/, 70 /*PS*/, 4 /*Zylinder*/, Motorbauuarten.BoxerMotor);
            //
            Motorrad m1 = new Motorrad("LU 14062", "Kawasaki", "Zephir");
            Motorrad m2 = new Motorrad("LU 14064");

            m2.Marke                = "Piaggio";
            m2.Typ                  = "Vespa";
            m2.Motor.Hubraum        = 125; //ccm
            m2.Motor.Leistung       = 8;   //PS
            m2.Motor.AnzahlZylinder = 1;   //Zylinder
            Motorrad m3 = new Motorrad("LU 74256", "Yamaha", "XV Wildstar", 1600 /*ccm*/, 63 /*PS*/, 2 /*Zylinder*/, Motorbauuarten.VMotor);
            //
            Fahrrad f1 = new Fahrrad("K124AS123", "Wheeler", "Cross1");
            Fahrrad f2 = new Fahrrad("D424AS144");

            f2.Marke = "Wheeler";
            f2.Typ   = "Cross3";
            Fahrrad f3 = new Fahrrad("K123AD351", "Wheeler", "Cross3");
            // (2) Fahrzeugobjekte im Fahrzeugverzeichnis(Arrayliste) speichern
            Fahrzeugverzeichnis f = new Fahrzeugverzeichnis();

            f.Add(a1);
            f.Add(a2);
            f.Add(a3);
            f.Add(m1);
            f.Add(m2);
            f.Add(m3);
            f.Add(f1);
            f.Add(f2);
            f.Add(f3);
            // (3) Personenobjekte erstellen
            Person p1 = new Person();

            p1.setPersNr(120);
            p1.setName("Gugerli");
            p1.setVorname("Armin");
            p1.setStrasse("Schürstrasse");
            p1.getWohnort().setPlz("6020");
            p1.getWohnort().setOrt("Emmenbruecke");
            Person p2 = new Person(123, "Bucher", "Roland", "Sonnbüel13");

            p2.getWohnort().setPlz("6024");
            p2.getWohnort().setOrt("Hildisrieden");
            Person p3 = new Person(130, "Waldburger", "Max", "Hauptweg 101", new Ortschaft("8805", "Freienbach"));

            // (4) Fahrzeuge den Personenobjekten zuweisen oder/und umgekehrt
            a1.setBesitzer(p2);
            m1.setBesitzer(p2);
            a2.setBesitzer(p2);
            p1.AddFahrzeug(a2);
            p1.AddFahrzeug(f2);
            // (5) Ausgabe aller Fahrzeuge
            Console.WriteLine("*********************************");
            Console.WriteLine("A L L E   F A H R Z E U G E     ");
            Console.WriteLine("*********************************");
            foreach (Fahrzeug f in Fahrzeugverzeichnis.Fahrzeuge)
            {
                f.Datenausgabe();
                Console.WriteLine("----------------------------------");
            }
            Console.WriteLine("*********************************");
            Console.WriteLine("A L L E   P E R S O N  E N     ");
            Console.WriteLine("*********************************");
            p1.Datenausgabe();
            p2.Datenausgabe();
            p3.Datenausgabe();
            Console.ReadLine();
        }