85 lines
2.3 KiB
PHP
85 lines
2.3 KiB
PHP
<?php
|
|
|
|
class Human
|
|
{
|
|
// Konstanten (Konstanten sind immer öffentlich)
|
|
const SPECIES = "Homo sapiens";
|
|
|
|
// Eigenschaften (Membervariablen)
|
|
private $firstName;
|
|
private $lastName;
|
|
private $age;
|
|
|
|
// Statische Eigenschaft
|
|
private static $populationCount = 0;
|
|
|
|
// Konstruktor
|
|
public function __construct($firstName, $lastName, $age)
|
|
{
|
|
$this->firstName = $firstName;
|
|
$this->lastName = $lastName;
|
|
$this->age = $age;
|
|
|
|
// Bei jedem neuen Human wird die Population erhöht
|
|
self::$populationCount++;
|
|
}
|
|
|
|
// Getter für den Vornamen
|
|
public function getFirstName()
|
|
{
|
|
return $this->firstName;
|
|
}
|
|
|
|
// Setter für den Vornamen
|
|
public function setFirstName($firstName)
|
|
{
|
|
$this->firstName = $firstName;
|
|
}
|
|
|
|
// Eine Methode, die den vollständigen Namen zurückgibt
|
|
public function getFullName()
|
|
{
|
|
return $this->firstName . " " . $this->lastName;
|
|
}
|
|
|
|
// Eine Methode, die das Alter zurückgibt
|
|
public function getAge()
|
|
{
|
|
return $this->age;
|
|
}
|
|
|
|
// Eine Methode, die das Alter setzt
|
|
public function setAge($age)
|
|
{
|
|
$this->age = $age;
|
|
}
|
|
|
|
// Eine Methode, die die Population zurückgibt
|
|
public static function getPopulationCount()
|
|
{
|
|
return self::$populationCount;
|
|
}
|
|
|
|
// Destruktor
|
|
public function __destruct()
|
|
{
|
|
// Bei jeder Zerstörung eines Human wird die Population verringert
|
|
self::$populationCount--;
|
|
}
|
|
}
|
|
|
|
$human1 = new Human("John", "Doe", 30);
|
|
echo "Vorname: " . $human1->getFirstName() . "\n";
|
|
echo "Vollständiger Name: " . $human1->getFullName() . "\n";
|
|
echo "Alter: " . $human1->getAge() . "\n";
|
|
echo "Population: " . Human::getPopulationCount() . "\n";
|
|
|
|
$human2 = new Human("Jane", "Doe", 25);
|
|
echo "Population nach dem Erstellen eines zweiten Menschen: " . Human::getPopulationCount() . "\n";
|
|
|
|
// Zerstörung von $human1
|
|
unset($human1);
|
|
echo "Population nach der Zerstörung des ersten Menschen: " . Human::getPopulationCount() . "\n";
|
|
|
|
|
|
?>
|