Einzelnen Beitrag anzeigen

Cyberdine

Registriert seit: 21. Mai 2012
26 Beiträge
 
#16

AW: 3 Schichtversuch

  Alt 30. Mär 2013, 14:12
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;
  Mit Zitat antworten Zitat