Difference between revisions of "datatype visibility/de"

From Free Pascal wiki
Jump to navigationJump to search
m
Line 2: Line 2:
 
Zurück zu den [[Data type/de|Datentypen]].<br>
 
Zurück zu den [[Data type/de|Datentypen]].<br>
 
<br>
 
<br>
Die Sichtbarkeit und damit die Verwendbarkeit von [[Data field/de|Datenfeldern]] (z. B. vom Typ Variable und Konstante) hängt von der Ebene ihrer Bekanntmachung ab.
+
Die Sichtbarkeit und damit die Verwendbarkeit von [[Data field/de|Datenfeldern]] (z. B. vom Typ Variable und Konstante) hängt von der Ebene ihrer Bekanntmachung ab.<br>
 
+
<br>
Globale Ebene
+
Globale Ebene<br>
[[Data field/de|Datenfelder]], die im Abschnitt '''interface''' bekanntgemacht werden:
+
[[Data field/de|Datenfelder]], die im Abschnitt '''interface''' bekanntgemacht werden:<br>
Können innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können die [[Data field/de|Datenfelder]] sehen und damit verwenden.
+
Können innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können die [[Data field/de|Datenfelder]] sehen und damit verwenden.<br>
Können von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen dieser Units können diese [[Data field/de|Datenfelder]] sehen und damit verwenden.
+
Können von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen dieser Units können diese [[Data field/de|Datenfelder]] sehen und damit verwenden.<br>
 
+
<br>
Modulebene
+
Modulebene<br>
[[Data field/de|Datenfelder]], die im Abschnitt '''imlementation''' bekanntgemacht werden:
+
[[Data field/de|Datenfelder]], die im Abschnitt '''imlementation''' bekanntgemacht werden:<br>
Können nur innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können diese Datenfelder sehen und damit verwenden.
+
Können nur innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können diese Datenfelder sehen und damit verwenden.<br>
 
+
<br>
Unterprogrammebene
+
Unterprogrammebene<br>
[[Data field/de|Datenfelder]], die in einer '''Prozedur''' oder in einer '''Funktion''' bekanntmachen werden:
+
[[Data field/de|Datenfelder]], die in einer '''Prozedur''' oder in einer '''Funktion''' bekanntmachen werden:<br>
Können nur innerhalb der Prozedur oder Funktion gesehen und damit verwendet werden, in der sie bekanntgemacht wurden.
+
Können nur innerhalb der Prozedur oder Funktion gesehen und damit verwendet werden, in der sie bekanntgemacht wurden.<br>
 
+
<br>
 
<syntaxhighlight>
 
<syntaxhighlight>
 
interface
 
interface
Line 60: Line 60:
 
end.
 
end.
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
<br>
 
+
<br>
Empfehlung:
+
Empfehlung:<br>
Mit Rücksicht auf den Pflegeaufwand und der Lesbarkeit eines Programmes sollten [[Data field/de|Datenfelder]] immer auf der Ebene bekannt gemacht werden, auf der sie auch verwendet werden.
+
Mit Rücksicht auf den Pflegeaufwand und der Lesbarkeit eines Programmes sollten [[Data field/de|Datenfelder]] immer auf der Ebene bekannt gemacht werden, auf der sie auch verwendet werden.<br>
 
+
<br>
 
Begriffsbestimmung:<br>
 
Begriffsbestimmung:<br>
 
Abschnitt = Section<br>
 
Abschnitt = Section<br>

Revision as of 11:32, 29 January 2013


Zurück zu den Datentypen.

Die Sichtbarkeit und damit die Verwendbarkeit von Datenfeldern (z. B. vom Typ Variable und Konstante) hängt von der Ebene ihrer Bekanntmachung ab.

Globale Ebene
Datenfelder, die im Abschnitt interface bekanntgemacht werden:
Können innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können die Datenfelder sehen und damit verwenden.
Können von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen dieser Units können diese Datenfelder sehen und damit verwenden.

Modulebene
Datenfelder, die im Abschnitt imlementation bekanntgemacht werden:
Können nur innerhalb der Unit gesehen werden, in der sie bekanntgemacht wurden. Das heisst alle Prozeduren und Funktionen der Unit können diese Datenfelder sehen und damit verwenden.

Unterprogrammebene
Datenfelder, die in einer Prozedur oder in einer Funktion bekanntmachen werden:
Können nur innerhalb der Prozedur oder Funktion gesehen und damit verwendet werden, in der sie bekanntgemacht wurden.

interface
// Datenfelder in diesem Abschnitt werden von jeder Unit gesehen,
// die diese Unit in ihrer Unit Klausel einbindet und
// sie wird von den Unterprogrammen dieser Unit gesehen.

var
  ...;
const
  ...;


implementation
// Datenfelder in diesem Abschnitt werden nur von den Unterprogrammen in dieser Unit gesehen.

var
  ...;
const
  ...;


procedure Beispiel1();
// Datenfelder, die hier bekanntgemacht werden, werden nur vom Unterprogramm gesehen
var
  ...;
const
  ...;
begin
  ...;
end;

function Beispiel2(): Int64;
// Datenfelder, die hier bekanntgemacht werden, werden nur vom Unterprogramm gesehen
var
  ...;
const
  ...;
begin
  ...;
end;

end.



Empfehlung:
Mit Rücksicht auf den Pflegeaufwand und der Lesbarkeit eines Programmes sollten Datenfelder immer auf der Ebene bekannt gemacht werden, auf der sie auch verwendet werden.

Begriffsbestimmung:
Abschnitt = Section
bekanntmachen = deklarieren
Bekanntmachung = Deklaration
Anweisung = Klausel
Programmmodul = Programmbibliothek = Unit


--Olaf 18:00, 20 October 2012 (UTC)