public void DoSomething(Luftfahrzeug lfzg)
        {
            if (lfzg != null)
            {
                if (lfzg is Flugzeug)
                {
                    Console.WriteLine($"Spannweite ist: {((Flugzeug)lfzg).Spannweite}");
                }

                else if (lfzg is Hubschrauber)
                {
                    Console.WriteLine($"Rotor : {((Hubschrauber)lfzg).Rotor}");
                }

                else
                {
                    Console.WriteLine("Ungültiges Objekt");
                }
                Console.ReadLine();
            }
        }
Beispiel #2
0
        public void DoSomething(Luftfahrzeug lfzg)
        {
            lfzg.Starten();

            // Rheinwerk Kap 4.3.3
            if (lfzg != null)
            {
                if (lfzg is Flugzeug)
                {
                    Console.WriteLine("Spannweite: ", ((Flugzeug)lfzg).Spannweite);
                }
                else if (lfzg is Hubschrauber)
                {
                    Console.WriteLine("Rotor: ", ((Hubschrauber)lfzg).Rotor);
                }
                else
                {
                    Console.WriteLine("Unbekannter Typ.");
                }
            }
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            Circle kreis = new Circle();

            // kreis wird zu keinem Zeitpunkt initialisiert,
            // und daher bricht die Kompilierung mit einer Fehlermeldung ab.
            // Eine Objektvariable kann nur benutzt werden, wenn sie initialisiert ist.
            if (kreis == null)
            {
                // die Variable "kreis" referenziert kein Objekt
                Console.WriteLine("Das Objekt existiert nicht!");
                kreis = new Circle();
            }
            else
            {
                // "kreis" ist eine gültige Objektreferenz
                Console.WriteLine("Das Objekt existiert");
            }
            // weitere Anweisungen

            Circle kreis1 = new Circle();
            Circle kreis2 = kreis1;

            kreis1.Radius = 10;
            Console.WriteLine(kreis2.Radius);
            kreis2.Radius = 20;
            kreis2        = null;
            Console.WriteLine(kreis1.Radius);

            kreis.Radius = 12;
            Console.WriteLine("Der Kreisradius beträgt {0}", kreis.Radius);
            kreis = null;

            Circle kreis3 = new Circle();

            kreis3.XCoordinate = 50;
            kreis3.YCoordinate = 25;
            kreis3.Radius      = 12;
            int    height = 30;
            double volume = kreis3.GetArea() * height;

            Console.WriteLine(volume);

            Circle kreis4 = new Circle();

            kreis4.XCoordinate = -100;
            kreis4.YCoordinate = 90;
            kreis4.Move(120, -200);
            Console.WriteLine("x= " + kreis4.XCoordinate + ";y= " + kreis4.YCoordinate);

            // Bigger Rückgaben int
            // 1 wenn Radius des aufrufenden Objekts > übergebener Objekt.Radius
            // -1 wenn Radius des aufrufenden Objekts < übergebener Objekt.Radius
            // 0 wenn beide gleich
            Circle kreis5 = new Circle();

            kreis5.Radius = 23; // 12;
            Circle kreis6 = new Circle();

            kreis6.Radius = 23;
            if (kreis5.Bigger(kreis6) == -1)
            {
                Console.WriteLine("Objekt 'kreis5' ist kleiner als Objekt 'kreis6'");
            }
            if (kreis5.Bigger(kreis6) == 1)
            {
                Console.WriteLine("Objekt 'kreis5' ist größer als Objekt 'kreis6'");
            }
            if (kreis5.Bigger(kreis6) == 0)
            {
                Console.WriteLine("Objekt 'kreis5' und Objekt 'kreis6' sind gleich groß");
            }

            // Benannte Argumente
            kreis5.Move(dx: 100, dy: -200);
            kreis5.Move(dy: 300, dx: -100);


            // Anwendung der Klasse Demo
            int[] array0   = { 3, 6, 9, 4, 13, 22, 2, 29, 17 };
            int[] array    = new int[] { 3, 6, 9, 4, 13, 22, 2, 29, 17 };
            Demo  demo     = new Demo();
            int   maxValue = demo.GetMaxValue(array);

            Console.WriteLine("Maximalwert = {0}", demo.GetMaxValue(array));

            // Params
            //int[] list = { 1, 2, 3 }; Console.WriteLine(demo.Add(15, 19, list));
            Console.WriteLine(demo.Add(15, 19, 1, 2, 3));
            Console.WriteLine(demo.Add(1, 2, 3, 4, 5, 6));
            Console.WriteLine(demo.Add(95));
            Console.WriteLine(demo.Add(95, 5));
            Console.WriteLine(demo.Add());


            // Übergabe von Objekten
            Demo1 object1 = new Demo1();        // Wert = 1
            Demo2 object2 = new Demo2();        // Wert = 2

            object2.ChangeValue(object1);
            Console.WriteLine("object1.Value sollte 1 sein: = " + object1.Value);
            object2.ChangeValue(ref object1);
            Console.WriteLine("object1.Value sollte 2 sein: = " + object1.Value);

            // Konstuktor-Weiterleitung
            Circle kreis7 = new Circle(12, -100, 250);

            // Vereinfachte Objektinitialisierung Kap 3.6.7 !!! KLAPPT NICHT !!!
            Circle kreis8 = new Circle {
                YCoordinate = 2, XCoordinate = -7, Radius = 2
            };


            // Konstanten
            Console.WriteLine(Mathematics.PI);

            // Klassenvariable Kap 3.9.1
            Console.WriteLine("CountCircles " + Circle.CountCircles);

            // Aufruf statischer Klassen Kap 3.9.4
            Console.WriteLine(Mathematics.Add(2, 77, 99));
            Console.WriteLine(Mathematics.Subtract(2, 77, 99));

            Singleton singleton1 = Singleton.Instance;

            singleton1.Value = 128;
            Singleton singleton2 = Singleton.Instance;

            Console.WriteLine("Singleton " + singleton1.Value);
            Ausgabe.WriteLine("Singleton " + singleton1.Value);     // Alias Kap 3.10.4

            GraphicCircle gCircle = new GraphicCircle();

            // mit base: 3-fach Parameterkonstruktor von Circle und Standardkonstruktor von GraphicCircle
            // mit this: 3-fach Parameterkonstruktor von Circle und Standardkonstruktor von Circle,
            //   dann 3-fach Parameterkonstruktor von GraphicCircle und Standardkonstruktor von GraphicCircle

            gCircle.XCoordinate = 25;

            Console.WriteLine("gCircle.XCoordinate = " + gCircle.XCoordinate);
            Console.WriteLine("Anzahl der Kreise = {0}", GraphicCircle.CountCircles);


            SubClass2 subi2 = new SubClass2();

            subi2.DoSomething();

            Flugzeug flg = new Flugzeug();

            flg.Spannweite = 70;
            //            flg.Starten();
            flg.DoSomething(flg);

            Hubschrauber hubi = new Hubschrauber();

            hubi.Rotor = 45;
//            hubi.Starten();
            hubi.DoSomething(hubi);


            Luftfahrzeug[] arr = new Luftfahrzeug[4];
            arr[0] = new Flugzeug();
            arr[1] = new Hubschrauber();
            arr[2] = new Hubschrauber();
            arr[3] = new Flugzeug();
            foreach (Luftfahrzeug temp in arr)
            {
                temp.Starten();
            }

            // Kap 5.2 Event
            Circle eventKreis = new Circle();

            // Kap 5.2.2 Abonnieren des Ereignisses: Eventbezeichner += Ereignishandler (public static)
            // eventKreis.InvalidMeasure += new InvalidMeasureEventHandler(kreis_InvalidMeasure);  // 5.
            eventKreis.InvalidMeasure += kreis_InvalidMeasure;
            eventKreis.Radius          = -2;



            // -------------------------------------------
            Console.ReadLine();
        }