Quellcode anzeigen: Mitarbeiter

<!DOCTYPE html>
<html lang="de">
<head>
    <meta charset="utf-8"> 
    <title>Objektorientierte Programmierung</title> 
</head>
<body>
<?php

// Definition einer Klasse Mitarbeiter, die von der Klasse Person erbt
class Mitarbeiter extends Person {
    // Private Eigenschaften der Klasse
    private int $gruppierung; // Gruppierung des Mitarbeiters
    private int $steuerklasse; // Steuerklasse des Mitarbeiters
    private string $kontonummer; // Kontonummer des Mitarbeiters

    // Konstruktor der Klasse, nimmt Parameter für die Initialisierung der Eigenschaften
    public function __construct(string $nname, string $vname, int $gruppierung, int $steuerklasse, string $kontonummer) {
        // Aufruf des Konstruktors der Elternklasse Person
        parent::__construct($nname, $vname);
        // Initialisieren der spezifischen Eigenschaften für die Klasse Mitarbeiter
        $this->gruppierung = $gruppierung;
        $this->steuerklasse = $steuerklasse;
        $this->kontonummer = $kontonummer;
    }

    // Setter und Getter für Gruppierung
    public function setGruppierung(int $gruppierung): void {
        $this->gruppierung = $gruppierung; // Setzt den Wert der Gruppierung
    }

    public function getGruppierung(): int {
        return $this->gruppierung; // Gibt den aktuellen Wert der Gruppierung zurück
    }

    // Setter und Getter für Steuerklasse
    public function setSteuerklasse(int $steuerklasse): void {
        $this->steuerklasse = $steuerklasse; // Setzt den Wert der Steuerklasse
    }

    public function getSteuerklasse(): int {
        return $this->steuerklasse; // Gibt den aktuellen Wert der Steuerklasse zurück
    }

    // Setter und Getter für Kontonummer
    public function setKontonummer(string $kontonummer): void {
        $this->kontonummer = $kontonummer; // Setzt die Kontonummer
    }

    public function getKontonummer(): string {
        return $this->kontonummer; // Gibt die aktuelle Kontonummer zurück
    }
}

// Definition einer Beispielklasse Person
class Person {
    protected string $name; // Name der Person
    protected string $vorname; // Vorname der Person

    // Konstruktor der Klasse, nimmt Parameter für die Initialisierung der Eigenschaften
    public function __construct(string $nname, string $vname) {
        $this->name = $nname; // Setzt den Nachnamen
        $this->vorname = $vname; // Setzt den Vornamen
    }

    // Setter und Getter für Name
    public function setName(string $nname): void {
        $this->name = $nname; // Setzt den Wert des Nachnamens
    }

    public function getName(): string {
        return $this->name; // Gibt den aktuellen Nachnamen zurück
    }

    // Setter und Getter für Vorname
    public function setVorname(string $vname): void {
        $this->vorname = $vname; // Setzt den Wert des Vornamens
    }

    public function getVorname(): string {
        return $this->vorname; // Gibt den aktuellen Vornamen zurück
    }
}

// Beispielanwendung: Erzeugen und Nutzen eines Mitarbeiter-Objekts
$mitarbeiter = new Mitarbeiter("Meier", "Thomas", 2, 1, "DE489654655465450012");

// Setzen neuer Werte für die Eigenschaften des Mitarbeiters
$mitarbeiter->setGruppierung(10); // Gruppierung auf 10 setzen
$mitarbeiter->setSteuerklasse(3); // Steuerklasse auf 3 setzen
$mitarbeiter->setKontonummer("DE489654655465450012"); // Kontonummer setzen

// Abruf und Ausgabe der gesetzten Werte
echo "Der Mitarbeiter Thomas Meier hat die Kontonummer " . $mitarbeiter->getKontonummer() ; 
echo "Die Steuerklasse ist " . $mitarbeiter->getSteuerklasse() . " und die Gruppierung " . $mitarbeiter->getGruppierung() . ". <br><br>\n\n";

// Informationen über das Objekt ausgeben
echo "<p>Das Objekt Mitarbeiter: Name und Vorname ist geschützt, Gruppierung, Steuerklasse und Kontonummer sind privat. Siehe unten in var_dump ausgegeben.</p>";
var_dump($mitarbeiter); // Ausgabe des Objekts zur
"\n"
?>


 <br><br>
 <a style="color: #8bade8;" href="example.php" target="_blank">Quellcode Mitarbeiter</a> <br>
<a style="color: #8bade8;" href="example2.php" target="_blank">Quellcode Klasse Person</a> <br>

    
</body>
</html>