4. Typen und Datenstrukturen
 
zurück
4.3.4 Private Typen


Private Typen sind ein Hilfsmittel von Ada, um Informationskapselung und Lokalität zu erreichen.

Private Typen werden im privaten Teil einer Spezifikation deklariert. Über den öffentlichen Teil der Spezifikation wird nur der Name bekanntgegeben.

Auf keine der Deklarationen innerhalb dieses Teils haben benutzende Programmeinheiten Zugriff. Insbesondere werden die Implementierungsdetails des privaten Typs selbst vor dem Benutzer verborgen.

Beispiele:

Die Implementierung des Typs "Dynamic_String" mit Hilfe eines Verbundes wird im privaten Teil des Pakets angegeben. Der Benutzer des Pakets kann nur über die exportierten Unterprogramme des Pakets (die hier nicht angegeben werden) Objekte von Typ "Dynamic_String" manipulieren.

Auf die Komponente "Data" vom Typ "String" hat man nur innerhalb des Pakets Zugriff, nicht jedoch von außerhalb des Pakets als Benutzer. Auf "Length" kann man dagegen auch von außen zugreifen, da diese Komponente schon in der unvollständigen Typdeklaration im nicht privaten Teil des Pakets enthalten ist.

package Dynamic_Strings is
   subtype Dynamic_String_Length is Natural range 0 .. 1024;
   type Dynamic_String(Length : Dynamic_String_Length := 0) is private;
   -- ... Zugriffsfunktionen für Objekte des Typs Dynamic_String
private
   type Dynamic_String(Length: Dynamic_String_Length := 0) is record
      data: String(1 .. Length);
   end record;
end Dynamic_Strings;



 
zurück
 Index   Ada Tour - Dokumentation  
© 2003 Förderverein Ada Deutschland e.V.