Objektumok
Nyílt rekurzió
Az objektum mindig látja saját magát, eléri metódusaiban az adattagjait és metódusait
Tervezés példa - Sokszögek

Pont modellezése

Pont megvalósítása - C#
class Point
{
public double X, Y;
public Point(double x = 0.0, double y = 0.0)
{
X = x; Y = y;
}
public void SetPoint(double x, double y)
{
X = x; Y = y;
}
public override string ToString()
{
return string.Format($"({X:0.0#},{Y:0.0#})");
}
public static Point operator +(Point a, Point b)
{
return new Point(a.X + b.X, a.Y + b.Y);
}
public static Point operator /(Point a, int n)
{
return new Point(a.X / n, a.Y / n);
}
}
Sokszög modellezése

Sokszög osztály

Sokszög megvalósítása
class Polygon
{
class FewVerticesException : Exception { }
private readonly Point[] vertices;
public Polygon(int m)
{
if (m < 3) throw new FewVerticesException();
vertices = new Point[m];
for (int i = 0; i < m; ++i)
{
vertices[i] = new Point();
}
}
public int Sides { … }
public Point this[int i] { … }
public override string ToString() { … }
public void Shift(Point e) { … }
public Point Centroid() { … }
}
Példányosítás
Avagy az alkalmazás felpopulálása
Objektum fogalma - Modellezési szempont
- Egy egy felelőségi körrel bíró önálló egyed
- Egységbe zárja a felelősségi köréhez tartozó adattagokat és metódusokat
- Egy részüket el is rejti
- Van életciklusa
- Létrejön, majd meg is szűnik
Objektum fogalma - Megvalósítási szempont
- Egy memóriaszelet, ahol az objektumhoz tartozó adatokat tároljuk
- A metódusokat csak objektum-típusonként
- Adattagjainak és metódusainak láthatósági köre szabályozható igény szerint
- Életciklusáért a konstruktor és a destruktor felel
Sokszök példányosítás

Főprogram
