static void Main(string[] args)
        {
            Circle kreis = new Circle();

            kreis.Radius      = 12;
            kreis.XCoordinate = 100;
            kreis.YCoordinate = 100;

            kreis.Move(20, 60);

            Circle kreis2 = new Circle();

            kreis2.Radius = 100;

            if (kreis.Bigger(kreis2))
            {
                Console.WriteLine("Kreis 1 ist grösser als Kreis 2");
            }
            else
            {
                Console.WriteLine("Kreis 2 ist grösser als Kreis 1");
            }

            // parameter der methode DoSomething referenziert auf die Variable via "ref" und ist nicht lokal.
            int value = 3;

            DoSomethingWithRef(ref value);
            // out macht dasselbe, mit dem unterschied, dass der übergebene parameter nicht initialisiert werden muss. Per Out muss die variable auf jeden fall geändert werden.
            DoSomethingWithOut(out value);

            // Methode mit params
            Console.WriteLine("Add Routine mit params: {0}", Add(5, 5, 4, 4, 3, 2, 3, 3, 4, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5));

            // Methode mit optionalem Parameter
            OptionalParam("Pascal", 5);

            // Ausgabe:
            Console.WriteLine("Der Kreisradius beträgt {0}", kreis.Radius);
            Console.WriteLine("Die Fläche beträgt {0}", kreis.GetArea());
            Console.WriteLine("Der Umfang beträgt {0}", kreis.GetCircumference());
            Console.WriteLine("Der Kreis befindet sich auf X: {0} Y: {1}", kreis.XCoordinate, kreis.YCoordinate);
            Console.WriteLine("{0}", value);


            // GraphicCircle
            GraphicCircle gCircle = new GraphicCircle();

            gCircle.Draw();

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

            Console.ReadKey();
        }
Exemple #2
0
        static void Main(string[] args)
        {
            Circle kreis1 = new Circle(10);
            Circle kreis2 = new Circle(15, -140, 440);

            // Allgemeine Daten ausgeben
            Console.WriteLine("Allgemeine Daten:");
            Console.WriteLine(new string('=', 17)); // 17x <=>
            Console.WriteLine("kreis1 - Radius:      {0}", kreis1.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis1.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis1.YCoordinate);
            Console.WriteLine();
            Console.WriteLine("kreis2 - Radius:      {0}", kreis2.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis2.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis2.YCoordinate);
            Console.WriteLine();

            // Anzahl der Circle-Objekte ausgeben
            Console.WriteLine("Anzahl 'Circle'-Objekte: {0}", Circle.CountCircles);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'kreis1'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche kreis1: {0}", kreis1.GetArea());
            Console.WriteLine("Umfang kreis1: {0}", kreis1.GetCircumference());
            Console.WriteLine();

            // Test: Verschiebung kreis1
            Console.WriteLine("Verschiebung des Objekts 'kreis1' um dx=150 / dy=400");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            kreis1.Move(150, 400);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            Console.WriteLine();

            // Test: Größenvergleich
            if (kreis1.Bigger(kreis2) == 1)
            {
                Console.WriteLine("Objekt 'kreis1' ist größer als Objekt 'kreis2'");
            }
            else if (kreis1.Bigger(kreis2) == 0)
            {
                Console.WriteLine("Objekt 'kreis1' ist gleich Objekt 'kreis2'");
            }
            else
            {
                Console.WriteLine("Objekt 'kreis1' ist kleiner Objekt 'kreis2'");
            }

            Console.ReadLine();
        }
Exemple #3
0
    static void Main(string[] args)
    {
      Circle kreis1 = new Circle(10);
      Circle kreis2 = new Circle(15, -140, 440);
      // Allgemeine Daten ausgeben
      Console.WriteLine("Allgemeine Daten:");
      Console.WriteLine(new string('=', 17)); // 17x <=>
      Console.WriteLine("kreis1 - Radius:      {0}", kreis1.Radius);
      Console.WriteLine("       - XKoordinate: {0}", kreis1.XCoordinate);
      Console.WriteLine("       - YKoordinate: {0}", kreis1.YCoordinate);
      Console.WriteLine();
      Console.WriteLine("kreis2 - Radius:      {0}", kreis2.Radius);
      Console.WriteLine("       - XKoordinate: {0}", kreis2.XCoordinate);
      Console.WriteLine("       - YKoordinate: {0}", kreis2.YCoordinate);
      Console.WriteLine();

      // Anzahl der Circle-Objekte ausgeben
      Console.WriteLine("Anzahl 'Circle'-Objekte: {0}", Circle.CountCircles);
      Console.WriteLine();

      // Test: Fläche und Umfang
      Console.WriteLine("Fläche und Umfang des Objekts 'kreis1'");
      Console.WriteLine(new string('-', 40));
      Console.WriteLine("Fläche kreis1: {0}", kreis1.GetArea());
      Console.WriteLine("Umfang kreis1: {0}", kreis1.GetCircumference());
      Console.WriteLine();

      // Test: Verschiebung kreis1
      Console.WriteLine("Verschiebung des Objekts 'kreis1' um dx=150 / dy=400");
      Console.WriteLine(new string('-', 40));
      Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
      kreis1.Move(150, 400);
      Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
      Console.WriteLine();

      // Test: Größenvergleich
      if (kreis1.Bigger(kreis2) == 1)
          Console.WriteLine("Objekt 'kreis1' ist größer als Objekt 'kreis2'");
      else if (kreis1.Bigger(kreis2) == 0)
        Console.WriteLine("Objekt 'kreis1' ist gleich Objekt 'kreis2'");
      else
        Console.WriteLine("Objekt 'kreis1' ist kleiner Objekt 'kreis2'");

      Console.ReadLine();
    }
        static void Main(string[] args)
        {
            Circle kreis = new Circle();
            kreis.Radius = 12;
            kreis.XCoordinate = 100;
            kreis.YCoordinate = 100;

            kreis.Move(20, 60);

            Circle kreis2 = new Circle();
            kreis2.Radius = 100;

            if (kreis.Bigger(kreis2))
               Console.WriteLine("Kreis 1 ist grösser als Kreis 2");
            else
               Console.WriteLine("Kreis 2 ist grösser als Kreis 1");

            // parameter der methode DoSomething referenziert auf die Variable via "ref" und ist nicht lokal.
            int value = 3;
            DoSomethingWithRef(ref value);
            // out macht dasselbe, mit dem unterschied, dass der übergebene parameter nicht initialisiert werden muss. Per Out muss die variable auf jeden fall geändert werden.
            DoSomethingWithOut(out value);

            // Methode mit params
            Console.WriteLine("Add Routine mit params: {0}", Add(5, 5, 4, 4, 3, 2, 3, 3, 4, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5));

            // Methode mit optionalem Parameter
            OptionalParam("Pascal", 5);

            // Ausgabe:
            Console.WriteLine("Der Kreisradius beträgt {0}", kreis.Radius);
            Console.WriteLine("Die Fläche beträgt {0}", kreis.GetArea());
            Console.WriteLine("Der Umfang beträgt {0}", kreis.GetCircumference());
            Console.WriteLine("Der Kreis befindet sich auf X: {0} Y: {1}", kreis.XCoordinate, kreis.YCoordinate);
            Console.WriteLine("{0}", value);

            // GraphicCircle
            GraphicCircle gCircle = new GraphicCircle();
            gCircle.Draw();

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

            Console.ReadKey();
        }
Exemple #5
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();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            Circle kreis1 = new Circle(10);
            Circle kreis2 = new Circle(15, -140, 440);

            // Allgemeine Daten ausgeben
            Console.WriteLine("Allgemeine Daten:");
            Console.WriteLine(new string('=', 17)); // zeichnet Linie
            Console.WriteLine("kreis1 - Radius:      {0}", kreis1.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis1.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis1.YCoordinate);
            Console.WriteLine();
            Console.WriteLine("kreis2 - Radius:      {0}", kreis2.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis2.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis2.YCoordinate);
            Console.WriteLine();

            // Anzahl der Circle-Objekte ausgeben
            Console.WriteLine("Anzahl 'Circle'-Objekte: {0}", Circle.CountCircles);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'kreis1'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche kreis1: {0}", kreis1.GetArea());
            Console.WriteLine("Umfang kreis1: {0}", kreis1.GetCircumference());
            Console.WriteLine();

            // Test: Fläche und Umfang ==  kreis2
            Console.WriteLine("Fläche und Umfang des Objekts 'kreis2'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche kreis2: {0}", kreis2.GetArea());
            Console.WriteLine("Umfang kreis2: {0}", kreis2.GetCircumference());
            Console.WriteLine();

            
            // Test: Verschiebung kreis1
            Console.WriteLine("Verschiebung des Objekts 'kreis1' um dx=150 / dy=400");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            kreis1.Move(150, 400);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            Console.WriteLine();

            // Test: Verschiebung kreis1 zum 2. Mal
            Console.WriteLine("Verschiebung des Objekts 'kreis1' zzum 2. Mal um dx=350 / dy=600");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            kreis1.Move(350, 600);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            Console.WriteLine();


            // Test: Größenvergleich
            if (kreis1.Bigger(kreis2) == 1)
                Console.WriteLine("Objekt 'kreis1' ist größer als Objekt 'kreis2'");
            else if (kreis1.Bigger(kreis2) == 0)
                Console.WriteLine("Objekt 'kreis1' ist gleich Objekt 'kreis2'");
            else
                Console.WriteLine("Objekt 'kreis1' ist kleiner Objekt 'kreis2'");

            Console.WriteLine();

            // Test Anzahl Kreisobjekte (Listung 4.3)
            GraphicCircle gc = new GraphicCircle();
            Console.WriteLine("Anzahl 'Circle'-Objekte mit zusätzlich GraphicCircle: {0}", Circle.CountCircles);
            Console.WriteLine();
            Console.WriteLine();


            Console.WriteLine("============ Rectangles ===============================");
            Console.WriteLine();
            
            Rectangle rect1 = new Rectangle(10, 200);
            Rectangle rect2 = new Rectangle(50, 400, 5, -100);

            // Daten von Rect1
            Console.WriteLine("Allgemeine Daten Rectangles:");
            Console.WriteLine(new string('-', 28)); // zeichnet Linie
            Console.WriteLine("Rect1 - Length:       {0}", rect1.Length);
            Console.WriteLine("..... - Width:        {0}", rect1.Width);
            Console.WriteLine("      - XKoordinate: {0}", rect1.XCoordinate);
            Console.WriteLine("      - YKoordinate: {0}", rect1.YCoordinate);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'rect1'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche rect1: {0}", rect1.GetArea());
            Console.WriteLine("Umfang rect1: {0}", rect1.GetCircumference());
            Console.WriteLine();


            // Daten von Rect2
            Console.WriteLine("Rect2 - Length and Width:       {0} and {1}", rect2.Length, rect2.Width);
            Console.WriteLine("      - XKoordinate and YKoordinate:  {0}, {1}", rect2.XCoordinate, rect2.YCoordinate);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'rect2'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche rect2: {0}", rect2.GetArea());
            Console.WriteLine("Umfang rect2: {0}", rect2.GetCircumference());
            Console.WriteLine();

            // Test: Verschiebung Rect1
            Console.WriteLine("Verschiebung des Objekts 'Rect1' um dx=150 / dy=400");
            Console.WriteLine(new string('-', 51));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", rect1.XCoordinate, rect1.YCoordinate);
            rect1.Move(150, 400);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", rect1.XCoordinate, rect1.YCoordinate);
            Console.WriteLine();

            // Anzahl der Rectangle-Objekte ausgeben
            Console.WriteLine("Anzahl 'Rectangle-'-Objekte: {0}", Rectangle.CountRectangles);
            Console.WriteLine();


// ======== Rectangles und Kreise der Größe nach vergleichen

            Console.WriteLine("Vergleich kreis1, rect1 ergibt:  {0}", GeometricObject.Bigger2(kreis1, rect1));
            Console.WriteLine();
            Console.WriteLine("Vergleich kreis2, kreis1 ergibt: {0}", GeometricObject.Bigger2(kreis2, kreis1));

            //
            Console.ReadLine();
        }
Exemple #7
0
        static void Main(string[] args)
        {
            Circle kreis1 = new Circle(10);
            Circle kreis2 = new Circle(15, -140, 440);

            // Allgemeine Daten ausgeben
            Console.WriteLine("Allgemeine Daten:");
            Console.WriteLine(new string('=', 17)); // zeichnet Linie
            Console.WriteLine("kreis1 - Radius:      {0}", kreis1.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis1.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis1.YCoordinate);
            Console.WriteLine();
            Console.WriteLine("kreis2 - Radius:      {0}", kreis2.Radius);
            Console.WriteLine("       - XKoordinate: {0}", kreis2.XCoordinate);
            Console.WriteLine("       - YKoordinate: {0}", kreis2.YCoordinate);
            Console.WriteLine();

            // Anzahl der Circle-Objekte ausgeben
            Console.WriteLine("Anzahl 'Circle'-Objekte: {0}", Circle.CountCircles);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'kreis1'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche kreis1: {0}", kreis1.GetArea());
            Console.WriteLine("Umfang kreis1: {0}", kreis1.GetCircumference());
            Console.WriteLine();

            // Test: Fläche und Umfang ==  kreis2
            Console.WriteLine("Fläche und Umfang des Objekts 'kreis2'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche kreis2: {0}", kreis2.GetArea());
            Console.WriteLine("Umfang kreis2: {0}", kreis2.GetCircumference());
            Console.WriteLine();


            // Test: Verschiebung kreis1
            Console.WriteLine("Verschiebung des Objekts 'kreis1' um dx=150 / dy=400");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            kreis1.Move(150, 400);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            Console.WriteLine();

            // Test: Verschiebung kreis1 zum 2. Mal
            Console.WriteLine("Verschiebung des Objekts 'kreis1' zzum 2. Mal um dx=350 / dy=600");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            kreis1.Move(350, 600);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", kreis1.XCoordinate, kreis1.YCoordinate);
            Console.WriteLine();


            // Test: Größenvergleich
            if (kreis1.Bigger(kreis2) == 1)
            {
                Console.WriteLine("Objekt 'kreis1' ist größer als Objekt 'kreis2'");
            }
            else if (kreis1.Bigger(kreis2) == 0)
            {
                Console.WriteLine("Objekt 'kreis1' ist gleich Objekt 'kreis2'");
            }
            else
            {
                Console.WriteLine("Objekt 'kreis1' ist kleiner Objekt 'kreis2'");
            }

            Console.WriteLine();

            // Test Anzahl Kreisobjekte (Listung 4.3)
            GraphicCircle gc = new GraphicCircle();

            Console.WriteLine("Anzahl 'Circle'-Objekte mit zusätzlich GraphicCircle: {0}", Circle.CountCircles);
            Console.WriteLine();
            Console.WriteLine();


            Console.WriteLine("============ Rectangles ===============================");
            Console.WriteLine();

            Rectangle rect1 = new Rectangle(10, 200);
            Rectangle rect2 = new Rectangle(50, 400, 5, -100);

            // Daten von Rect1
            Console.WriteLine("Allgemeine Daten Rectangles:");
            Console.WriteLine(new string('-', 28)); // zeichnet Linie
            Console.WriteLine("Rect1 - Length:       {0}", rect1.Length);
            Console.WriteLine("..... - Width:        {0}", rect1.Width);
            Console.WriteLine("      - XKoordinate: {0}", rect1.XCoordinate);
            Console.WriteLine("      - YKoordinate: {0}", rect1.YCoordinate);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'rect1'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche rect1: {0}", rect1.GetArea());
            Console.WriteLine("Umfang rect1: {0}", rect1.GetCircumference());
            Console.WriteLine();


            // Daten von Rect2
            Console.WriteLine("Rect2 - Length and Width:       {0} and {1}", rect2.Length, rect2.Width);
            Console.WriteLine("      - XKoordinate and YKoordinate:  {0}, {1}", rect2.XCoordinate, rect2.YCoordinate);
            Console.WriteLine();

            // Test: Fläche und Umfang
            Console.WriteLine("Fläche und Umfang des Objekts 'rect2'");
            Console.WriteLine(new string('-', 40));
            Console.WriteLine("Fläche rect2: {0}", rect2.GetArea());
            Console.WriteLine("Umfang rect2: {0}", rect2.GetCircumference());
            Console.WriteLine();

            // Test: Verschiebung Rect1
            Console.WriteLine("Verschiebung des Objekts 'Rect1' um dx=150 / dy=400");
            Console.WriteLine(new string('-', 51));
            Console.WriteLine("X (alt): {0} / Y (alt): {1}", rect1.XCoordinate, rect1.YCoordinate);
            rect1.Move(150, 400);
            Console.WriteLine("X (neu): {0} / Y (neu): {1}", rect1.XCoordinate, rect1.YCoordinate);
            Console.WriteLine();

            // Anzahl der Rectangle-Objekte ausgeben
            Console.WriteLine("Anzahl 'Rectangle-'-Objekte: {0}", Rectangle.CountRectangles);
            Console.WriteLine();


// ======== Rectangles und Kreise der Größe nach vergleichen

            Console.WriteLine("Vergleich kreis1, rect1 ergibt:  {0}", GeometricObject.Bigger2(kreis1, rect1));
            Console.WriteLine();
            Console.WriteLine("Vergleich kreis2, kreis1 ergibt: {0}", GeometricObject.Bigger2(kreis2, kreis1));

            //
            Console.ReadLine();
        }