Programmieren_2/packages.md

2.6 KiB

Module

<<<<<<< HEAD Grundlegendes Konzept in der Programmierung zur Organisation von Programmcode. Module kapseln Implementationen und exportieren eine Schnittstelle mit Operationen, Typen und Konstanten. Dies kann explizit durch die Java 9 Modules geschehen oder implizit durch Zugriffsmodifikatoren.

Grundlegendes Konzept in der Programmierung zur Organisation von Programmcode.

Module kapseln Implementationen und exportieren eine Schnittstelle mit Operationen, Typen und Konstanten. Dies kann explizit durch die Java 9 Modules geschehen oder implizit durch Zugriffsmodifikatoren.

667e7fabda


Geschachtelte Klassen

Erlaubt das Verstecken von Hilfsklassen.

class Dreieck {
    private Koordinate _a;
    private Koordinate _b;
    private Koordinate _c;
    
    private class Koordinate
    {
        ...
    }
}

Pakete

Ermöglichen Namensräume von zusammengehörigen Klassen. Klassen und Interfaces sind nur sichtbar wenn sie mit dem Schlüsselwort public deklariert wurden.

// Dreieck.java
package formen;
public class Dreieck {
    private Koordinate _a;
    private Koordinate _b;
    private Koordinate _c;
    //...
}
// Koordinate.java
package formen;
class Koordinate
{
    //...
}

Imports

Möchte man Klassen und Interfaces aus einem anderen Paket nutzen dann müssen diese importiert werden. Um eine Grundfunktionalität von Java zu gewährleisten wird das Paket java.lang immer importiert.

import java.util.List; // Nur List
import java.util.*;    // Alle Klassen und Interfaces aus java.util

import static org.junit.Assert.*; // Statischer Import der Asserts

import java.lang.*; // Default Import der immer gemacht wird

Sichtbarkeiten

Sichtbarkeiten von Methoden, Konstruktoren und Feldern:

  • public: Sichtbar innerhalb und außerhalb des eigenen Pakets
  • protected: Sichtbar innerhalb des Pakets und für erbende Klassen
  • package-private: Sichtbar innerhalb des Pakets
  • private: Nur sichtbar innerhalb der Klasse

Übung

  1. Durch welches Schlüsselwort wird der Modifikator package-private genutzt?

    • Durch die Verwendung von keinem Schlüsselwort als Modifikator
  2. Wie sollten Pakete benannt werden?

    • Umgedrehte Domain: de.henriburau.meineKlassen