Pakete dienen demselben Zweck wie Ordner, denn mit ihrer Hilfe werden Quellendateien verwaltet und Namensunverträglichkeiten verhindert.
Technisch gesehen ist ein Paket eine benannte Sammlung von zusammengehörenden Abschnitten. Einfacher ist es jedoch, wenn Sie sich ein Paket wie einen Ordner oder ein Verzeichnis auf Ihrem lokalen System vorstellen.
Pakete verhindern Namensunverträglichkeiten, indem Dateien in unterschiedliche Kontexte aufgeteilt werden. Zwei Abschnitte mit identischem Namen können nicht in demselben Paket definiert sein. Zwei unterschiedliche Pakete können jedoch jeweils einen Abschnitt desselben Namens enthalten. Desgleichen sollten Sie Konflikte zwischen Paketen vermeiden, indem Sie keine Pakete mit identischen Namen erstellen, auch wenn sich diese Pakete in unterschiedlichen Projekten oder Quellenordnern befinden.
Alle Abschnitte in einer EGL-Quellendatei gehören zu demselben Paket. Die Anweisung package in der Datei gibt gegebenenfalls den Namen dieses Pakets an. Falls Sie keine Anweisung package angeben, werden die Abschnitte im Stammverzeichnis des Quellenordners gespeichert und gelten als Teil des Standardpakets. Da Dateien im Standardpaket nicht von Abschnitten in anderen Paketen oder Projekten gemeinsam genutzt werden können, sollte nach Möglichkeit eine Anweisung package angegeben werden.
Bei Paketnamen muss die Groß-/Kleinschreibung beachtet werden. Weitere Informationen zu Namenskonventionen für Pakete finden Sie unter Paket.
package com.companyb.firstpackage;
program testProgram type BasicProgram
function main()
myVariable myRecordPart;
end
end
Record myRecordPart type BasicRecord
field1 int;
field2 string;
end
package com.companyb.secondpackage;
program testProgram2 type BasicProgram
function main()
myVariable2 com.companyb.firstpackage.myRecordPart;
end
end
Einfacher ist es, wenn Sie EGL mit der Anweisung import anweisen, dass der Abschnitt in der Quellendatei verwendet werden soll. Falls Sie einen Abschnitt auf diese Weise importieren, können Sie den Abschnitt so verwenden, als ob er Teil des aktuellen Pakets wäre, ohne bei jeder Verwendung des Abschnitts seine vollständige Position in seinem Paket angeben zu müssen. Manchmal wird ein solcher Import eines Abschnitts auch mit dem Ausdruck 'den Abschnitt in den Geltungsbereich bringen' bezeichnet.
package com.companyb.thirdpackage;
import com.companyb.firstpackage.myRecordPart;
program testProgram3 type BasicProgram
function main()
myVariable3 myRecordPart;
end
end
Bitte beachten Sie, dass die Anweisung import nicht den Quellendateinamen, sondern den Paketpfad zum Abschnitt und den Abschnittsnamen verwendet.Weitere Informationen zur Anweisung import finden Sie unter Anweisungen 'import' und 'use'.