***** Übungen: PHP/OOP - Konstruktor *****
PHP/OOP_4-1: Konstruktor verwenden
Schreiben Sie das folgende Listing so um, dass der initiale Kontostand (mit dem Wert 0) per Konstruktor erzeugt wird.
PHP-Code
class Kunde
{
// Attribute
public $kontostand = 0;
// Methoden
function kontostandSetzen()
{
$this->kontostand = 400;
}
}
$kunde = new Kunde;
echo "Alter Kontostand: " . $kunde->kontostand . "<br />\n";
// neuen Kontostand durch Methode kontostandSetzen festlegen lassen
// METHODE HIER EINFÜGEN
echo "Neuer Kontostand : " . $kunde->kontostand;
PHP/OOP_4-2: Konstruktor verwenden
Ergänzen Sie das folgende Listing um einen Konstruktor, der unter Verwendung der Objektattribute folgende Meldung ausgibt:
"Neues Objekt wurde erzeugt (Kundennummer: 1234, Kundenname: Schmitt)."
Beachten Sie dabei, dass beim Instanziieren eines Objektes die Attribute noch keine Werte haben. Dieses Problem müssen Sie lösen, damit der Konstruktor Werte ausgeben kann.
Bitte verändern Sie außer dem Konstruktor NICHTS im Listing.
PHP-Code
class Kunde
{
// Attribute
public $name;
public $kundennummer;
// Methoden
// HIER KONSTRUKTOR
public function kundendatenAusgeben()
{
// diese Funktion ist eigentlich nicht notwendig, da gemaess Aufgabenstellung der Konstruktor schon diese Ausgabe erzeugt.
echo "<p>Der Kunde mit der Kundennummer " . $this->kundennummer .
" heißt " . $this->name . ".</p>\n";
}
}
PHP/OOP_4-3: Konstruktor mit Berechnung
Programmieren Sie die im Klassendiagramm
10phpoop/oopphp04_bild_artikel_mitkonstruktor.png dargestellte Klasse "Artikel". Jedes Objekt erhält bei seiner Erzeugung einen Nettopreis und einen Steuersatz. Im Konstruktor werden diese Werte den Objektattributen zugewiesen; außerdem wird der Bruttopreis berechnet.
Die Methode endpreisAusgeben() gibt den berechneten Preis in Form eines solchen Satzes aus: "Der Bruttopreis des Artikels beträgt 119 Euro (Nettopreis: 100 Euro, Steuersatz: 19 Prozent)".
_Zusatzaufgabe_
Erweitern Sie die Klasse so, dass auch der Artikelname beim Instanziieren des Objekts übergeben wird und entsprechend einem Objektattribut zugewiesen wird. Berücksichtigen Sie dieses Attribut bei der Ausgabe durch die Methode endpreisAusgeben ("Der Bruttopreis des Artikels 'Badeschlappen' beträgt ...").