public class A { public int a; } public class B : A { public int b; }
public class Pojazd { public virtual void Ruszaj() {...} } public class Rower : Pojazd { public override void Ruszaj() {...} } public class Auto : Pojazd { public override void Ruszaj() {...} }
public abstract class Pojazd { public abstract void Ruszaj(); }
using System; public struct Complex { public int real; public int imaginary; public Complex(int real, int imaginary) { this.real = real; this.imaginary = imaginary; } public static Complex operator +(Complex c1, Complex c2) { return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary); } public override string ToString() { return(String.Format("{0} + {1}i", real, imaginary)); } }
Zaimplementuj klasy pozwalające reprezentować zbiór figur geometrycznych w dwu wymiarowej przestrzeni.
W układzie współrzędnych umieszczane będą następujące obiekty:
Dodatkowo:
Dla figur umieszczanych na wykresie zdefiniuj następujące operacje:
Clone()
jeżeli potrzeba)ToString()
zwracającą odpowiednie informacje o danej figurze w postaci zmiennej typu stringDodatkowo:
DodajPunkt
dodającą nowy wierzchołek do wielobokuRead()
wczytującą zawartość pól obiektu z terminala
Zaimplementuj klasę o nazwie Wykres
realizującą dwuwymiarowy układ współrzędnych. Wykres przechowuje zbiór figur. Klasa ta stanowi więc pojemnik do którego możemy dodać dowolną liczbę punktów, kół oraz trójkątów. Do przechowywania figur użyj wybranej kolekcji z przestrzeni nazw System.Collections.Generic.
Dla obiektu reprezentującego wykres:
Clone()
)ToString()
umieszczającą w łańcuchu znakowym informacje o wszystkich elementach umieszczonych na wykresieDodatkowo:
Sort()
, która posortuje kolekcję figur na wykresie w rosnącym porządku ze względu na wartość obwodu. ToString()
. Sortowanie kolekcji wymaga utworzenie delegata realizującego porównanie Comparison lub obiektu implementującego interfejs IComparer.