static void Main(string[] args) { // Testen der Objektzähler Console.WriteLine("TEST DER OBJEKTZÄHLER"); Console.WriteLine("----------------------------------"); Rectangle rect1 = new Rectangle(); Rectangle rect2 = new Rectangle(); Rectangle rect3 = new Rectangle(); Circle kreis1 = new Circle(); Circle kreis2 = new Circle(); rect1.Dispose(); rect2.Dispose(); kreis1.Dispose(); Circle kreis3 = new Circle(); Console.WriteLine("Alle Objekte: {0}", GeometricObject.CountGeometricObjects); Console.WriteLine("Alle Rectangle: {0}", Rectangle.CountRectangles); Console.WriteLine("Alle kreise: {0}", Circle.CountCircles); Console.WriteLine("\nTEST DER METHODE ARRAY.SORT"); Console.WriteLine("----------------------------------"); GeometricObject[] liste = new GeometricObject[5]; liste[0] = new Circle(88); liste[1] = new Rectangle(12, 90); liste[2] = new GraphicCircle(50); liste[3] = new Rectangle(10, 96); liste[4] = new GraphicRectangle(3, 6); Array.Sort(liste); foreach (GeometricObject item in liste) Console.WriteLine(item.ToString()); Console.ReadLine(); }
// Klassenmethode public static int Bigger(GeometricObject object1, GeometricObject object2) { if (object1 == null || object2 == null) return 0; if (object1 == null) return -1; if (object2 == null) return 1; if (object1.GetArea() > object2.GetArea()) return 1; if (object1.GetArea() < object2.GetArea()) return -1; return 0; }
public virtual int Bigger(GeometricObject @object) { if (@object == null || GetArea() > @object.GetArea()) { return(1); } if (GetArea() < @object.GetArea()) { return(-1); } return(0); }
public virtual int Bigger(GeometricObject obj) { if (obj == null || GetArea() > obj.GetArea()) { return(1); } if (GetArea() < obj.GetArea()) { return(-1); } return(0); }
public int Compare(object x, object y) { GeometricObject geo1 = x as GeometricObject; GeometricObject geo2 = y as GeometricObject; if (geo1 != null && geo2 != null) { return(geo1.CompareTo(geo2)); } else { throw new InvalidCastException(); } }
public static int Bigger(GeometricObject rect1, GeometricObject rect2) { if (rect1.GetArea() > rect2.GetArea()) { return(1); } else if (rect1.GetArea() == rect2.GetArea()) { return(0); } else { return(-1); } }
public virtual int Bigger(GeometricObject rect) { if (GetArea() > rect.GetArea()) { return(1); } else if (GetArea() == rect.GetArea()) { return(0); } else { return(-1); } }
public virtual int CompareTo(Object @object) { GeometricObject geoObject = @object as GeometricObject; if (geoObject != null) { if (GetArea() < geoObject.GetArea()) { return(-1); } if (GetArea() == geoObject.GetArea()) { return(0); } return(1); } throw new ArgumentException("Ungültige Objektübergabe. Es wird der Typ 'GeometricObject' erwartet."); }
public virtual int CompareTo(object obj) { GeometricObject geoObject = obj as GeometricObject; if (geoObject != null) { if (GetArea() < geoObject.GetArea()) { return(-1); } if (GetArea() == geoObject.GetArea()) { return(0); } return(1); } throw new ArgumentException("Es wird der Typ GeometricObject erwartet."); }
public static int Bigger(GeometricObject object1, GeometricObject object2) { if (object1 == null && object2 == null) { return(0); } if (object1 == null) { return(-1); } if (object2 == null) { return(1); } if (object1.GetArea() > object2.GetArea()) { return(1); } if (object1.GetArea() < object2.GetArea()) { return(-1); } return(0); }
static void Main(string[] args) { // Testen der Objektzähler Console.WriteLine("TEST DER OBJEKTZÄHLER"); Console.WriteLine("----------------------------------"); Rectangle rect1 = new Rectangle(); Rectangle rect2 = new Rectangle(); Rectangle rect3 = new Rectangle(); Circle kreis1 = new Circle(); Circle kreis2 = new Circle(); rect1.Dispose(); rect2.Dispose(); kreis1.Dispose(); Circle kreis3 = new Circle(); Console.WriteLine("Alle Objekte: {0}", GeometricObject.CountGeometricObjects); Console.WriteLine("Alle Rectangle: {0}", Rectangle.CountRectangles); Console.WriteLine("Alle kreise: {0}", Circle.CountCircles); Console.WriteLine("\nTEST DER METHODE ARRAY.SORT"); Console.WriteLine("----------------------------------"); GeometricObject[] liste = new GeometricObject[5]; liste[0] = new Circle(88); liste[1] = new Rectangle(12, 90); liste[2] = new GraphicCircle(50); liste[3] = new Rectangle(10, 96); liste[4] = new GraphicRectangle(3, 6); Array.Sort(liste); foreach (GeometricObject item in liste) { Console.WriteLine(item.ToString()); } Console.ReadLine(); }
// Klassenmethode public static int Bigger(GeometricObject geoObj1, GeometricObject geoObj2) { return(geoObj1.Bigger(geoObj2)); }
// Instanzmethoden public virtual int Bigger(GeometricObject rect) { return(Math.Sign(GetArea() - rect.GetArea())); }
static void Main(string[] args) { // Document doc = new Document(); // doc.Copy(); // ICopy copy = doc; // copy.Copy(); // IAdress adress = doc; // adress.Copy(); // // // // Rectangle viereck = new Rectangle(); // Rectangle viereck1 = new Rectangle(); // Rectangle viereck2 = new Rectangle(21,11); // Rectangle viereck3 = new Rectangle(); // // // Console.WriteLine($"Anzahl der Objekte ist: {GeometricObject.CountGeometricObjects}"); // // Circle kreis = new Circle(21); // Circle kreis1 = new Circle(16); // Circle kreis2 = new Circle(15); // // Console.WriteLine($"Anzahl der Objekte ist; {GeometricObject.CountGeometricObjects}"); // // IDraw[] arr = new IDraw[6]; // arr[0] = new GraphicCircle(); // arr[1] = new GraphicRectangle(); // arr[2] = new Auto(); // arr[3] = new GraphicCircle(); // arr[4] = new GraphicRectangle(); // arr[5] = new Auto(); // foreach (IDraw item in arr) // { // item.Draw(); // } // GeometricObject[] arr = new GeometricObject[4]; arr[0] = new Circle(20); arr[1] = new Rectangle(15, 15); arr[2] = new Circle(22); arr[3] = new GraphicRectangle(1, 1); Array.Sort(arr, new GeometricObjectComparer()); foreach (GeometricObject item in arr) { Console.WriteLine(item.ToString()); } Console.ReadLine(); // if (kreis1.Bigger(kreis2) == -1) // Console.WriteLine("kreis1 < kreis 2"); // else // Console.WriteLine("kreis1 > kreis2"); // Console.ReadLine(); // // kreis.XCoordinate = -100; // kreis.YCoordinate = 90; // kreis.Move(120, -200); // // // // Console.WriteLine("Geben sie den Radius an"); // kreis.Radius = Convert.ToDouble(Console.ReadLine()); // // // // // Console.WriteLine($"Die Fläche beträgt {kreis.GetArea()}" ); // Console.WriteLine($"Der Umfang beträgt {kreis.GetPerimeter()}"); // // Console.ReadLine(); // // Console.WriteLine($"Geben sie die Länge des Vierecks an"); // viereck.Length = Convert.ToDouble(Console.ReadLine()); // Console.WriteLine($"Geben sie die Breite des Vierecks an"); // viereck.With = Convert.ToDouble(Console.ReadLine()); // // Console.WriteLine($"Der Umfang beträgt: {viereck.GetPerimeter()}"); // Console.WriteLine($"Die Fläche beträgt: {viereck.GetArea()}"); // // Console.ReadLine(); // // if (kreis != null) // { // Console.WriteLine("Das Objekt existiert nicht"); // kreis = new Circle(); // } // else // { // Console.WriteLine("Das Objekt existiert"); // Console.ReadLine(); // } }
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(); }
// Instanzmethoden // Die virtuelle Methode ist allgemein formuliert und gilt daher // sowohl für die Klasse <Circle> wie <Rectangle> public virtual int Bigger(GeometricObject @object) { if (@object == null || GetArea() > @object.GetArea()) return 1; if (GetArea() < @object.GetArea()) return -1; return 0; }