Hallo,
hab mich mal weiter an den Feinheiten der
OOP versucht und bin da auf folgendes gestoßen. Und zwar vererbe ich an die Logikschicht die
DB-Zugriffsschicht, auf deren Methoden wie hier z.B. speichern nur die Logikschicht zugreifen kann. Damit die Methode der
DB-Schicht nur für die Logikschicht sichtbar ist habe ich "strict protected" angewand (strict protected - hierauf kann man nur innerhalb der Klasse und ihrer Nachfahren zugreifen )
Allerdings kommt beim compilieren die Fehlermeldung das nicht auf "proteced Symbol Speichern" zugegriffen werden, die garnicht zu der Beschreibung paßt, da ja die Logikschicht der Nachfahre von TDBVertrag ist. Vorher hatte ich probiert die
DB-Schicht als Nachfahren der Logikschicht anzugeben, aber das würde dann auch nicht zu der Beschreibung von strict protected paßen, da die Logikschicht auf eine Methode des Vorfahren zugreifen muß, damit die Daten in der
DB-Schicht landen.
Code:
type
TDBVertrag = class
strict private
{ strict Private-Deklarationen }
// Felder
// Methoden
strict protected
{ strict Protected-Deklarationen }
// Felder
// Methoden
procedure Speichern(qry : TADOQuery); virtual;
protected
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;