Difference between revisions of "datatype visibility/de"

From Free Pascal wiki
Jump to navigationJump to search
m
m (Fixed syntax highlighting; deleted category already in page template)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
<br>
+
{{datatype_visibility}}
Zurück zu den [[Data type/de|Datentypen]].<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.<br>
+
Zurück zu den [[Data type/de|Datentypen]].
<br>
+
 
Globale Ebene<br>
+
 
[[Data field/de|Datenfelder]], die im Abschnitt '''interface''' bekanntgemacht werden:<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.
Können 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>
+
 
Diese Datenfelder können auch von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen die diese Unit eingebunden haben können diese Datenfelder sehen und können diese Datenfelder damit verwenden.<br>
+
 
<br>
+
Globale Ebene
Modulebene<br>
+
 
[[Data field/de|Datenfelder]], die im Abschnitt '''implementation''' bekanntgemacht werden:<br>
+
[[Data field/de|Datenfelder]], die im Abschnitt '''interface''' 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.<br>
+
 
<br>
+
Können 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 (Prozeduren und Funktionen)<br>
+
 
[[Data field/de|Datenfelder]], die in einem Unterprogramm bekanntgemacht werden:<br>
+
Diese Datenfelder können auch von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen die diese Unit eingebunden haben können diese Datenfelder sehen und können diese Datenfelder damit verwenden.
Können nur innerhalb des Unterprogramms gesehen werden, in dem sie bekanntgemacht wurden. Damit können diese Datenfelder auch nur in dem Unterprogramm verwendet werden, in dem sie bekanntgemacht wurden.<br>
+
 
<br>
+
Modulebene
<syntaxhighlight>
+
 
 +
[[Data field/de|Datenfelder]], die im Abschnitt '''implementation''' 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 (Prozeduren und Funktionen)
 +
 
 +
[[Data field/de|Datenfelder]], die in einem Unterprogramm bekanntgemacht werden:
 +
Können nur innerhalb des Unterprogramms gesehen werden, in dem sie bekanntgemacht wurden. Damit können diese Datenfelder auch nur in dem Unterprogramm verwendet werden, in dem sie bekanntgemacht wurden.
 +
 
 +
<syntaxhighlight lang=pascal>
 
interface
 
interface
 
// Datenfelder in diesem Abschnitt werden von jeder Unit gesehen,
 
// Datenfelder in diesem Abschnitt werden von jeder Unit gesehen,
 
// die diese Unit in ihrer Unit Klausel einbindet und
 
// die diese Unit in ihrer Unit Klausel einbindet und
// sie wird von den Unterprogrammen dieser Unit gesehen.
+
// sie werden von den Unterprogrammen dieser Unit gesehen.
  
 
var
 
var
Line 60: Line 70:
 
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.<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.
<br>
+
 
Begriffsbestimmung:<br>
+
Begriffsbestimmung:
Abschnitt = Section<br>
+
 
bekanntmachen = deklarieren<br>
+
Abschnitt = Section
Bekanntmachung = Deklaration<br>
+
 
Anweisung = Klausel<br>
+
bekanntmachen = deklarieren
Programmmodul = Programmbibliothek = Unit<br>
+
 
<br>
+
Bekanntmachung = Deklaration
<br>
+
 
--[[User:Olaf|Olaf]] 18:00, 20 October 2012 (UTC)
+
Anweisung = Klausel
[[Category:Pascal]]{{AutoCategory}}
+
 
 +
Programmmodul = Programmbibliothek = Unit

Latest revision as of 07:58, 12 February 2020

Deutsch (de) English (en)


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 diese Datenfelder sehen und damit verwenden.

Diese Datenfelder können auch von allen Units gesehen werden, die diese Unit unter der Klausel uses einbinden. Das heisst alle Prozeduren und Funktionen die diese Unit eingebunden haben können diese Datenfelder sehen und können diese Datenfelder damit verwenden.

Modulebene

Datenfelder, die im Abschnitt implementation 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 (Prozeduren und Funktionen)

Datenfelder, die in einem Unterprogramm bekanntgemacht werden: Können nur innerhalb des Unterprogramms gesehen werden, in dem sie bekanntgemacht wurden. Damit können diese Datenfelder auch nur in dem Unterprogramm verwendet werden, in dem sie bekanntgemacht wurden.

interface
// Datenfelder in diesem Abschnitt werden von jeder Unit gesehen,
// die diese Unit in ihrer Unit Klausel einbindet und
// sie werden 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