Einführung in EGL-Pakete

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.

Mit Paketen arbeiten

Wenn ein Abschnitt auf einen anderen Abschnitt in demselben Paket verweisen soll, müssen Sie die Position des zweiten Abschnitts nicht angeben. Das folgende Beispiel zeigt zwei Abschnitte, die sich in demselben Paket befinden, nämlich einen Datensatzabschnitt sowie einen Programmabschnitt, der den Datensatzabschnitt verwendet:
package com.companyb.firstpackage;

program testProgram type BasicProgram
    function main()
        myVariable myRecordPart;
    end
end

Record myRecordPart type BasicRecord
    field1 int;
    field2 string;
end
Wenn Sie auf einen anderen Abschnitt verweisen wollen, der sich in einem anderen Paket befindet, geben Sie die vollständige Position des Abschnitts in seinem Paket an. Der folgende Programmabschnitt verwendet beispielsweise den Datensatzabschnitt aus dem vorherigen Beispiel:
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.

Der folgende Programmabschnitt verwendet beispielsweise erneut den oben definierten Datensatzabschnitt. Dieses Mal wird der Abschnitt jedoch zuerst importiert:
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'.


Feedback