Objektorientierte Programmierung: Unterschied zwischen den Versionen
Aus Wikizone
| Zeile 65: | Zeile 65: | ||
=== Methoden überschreiben === | === Methoden überschreiben === | ||
'''Beispiel PHP''' | '''Beispiel PHP''' | ||
| − | + | <pre> | |
class Ship{ | class Ship{ | ||
$engineStatus = 'OFF'; | $engineStatus = 'OFF'; | ||
| Zeile 80: | Zeile 80: | ||
} | } | ||
} | } | ||
| + | </pre> | ||
Version vom 1. Oktober 2014, 08:58 Uhr
Diese Seite enthält eine kurze Einführung in wichtige Begrifflichkeiten und Modelle.
Klassen und Objekte
Beispiel PHP
class Ship{
public $name;
public $speed;
function startEngine() {
$this->speed=200; // this kann auf Eigenschaften und Methoden innerhalb der Klasse zugreifen.
}
function moveTo($location) {}
}
$fidelio = new Ship();
$fidelio->name = "FIDELIO";
$fidelio->startEngine();
$fidelio->moveTo("Bahamas");
var_dump($fidelio);
Konstruktor
Unterscheidet sich ziemlich in div. Programmiersprachen. Funktion ist aber gleich: Der Konstruktor wird beim erstellen einer Objektinstanz aufgerufen und kann zum initialisieren dienen.
Beispiel PHP
In PHP wird falls vorhanden die Funktion __construct() aufgerufen.
class Ship{
public $name;
public $coaches;
public $speed;
...
function __constuct($name, $numberOfCoaches) {
$this->name = $name;
$this->coaches = $numberOfCoaches;
echo("Das Schiff heißt: " . $this->name . " und besitzt " . $this->coaches . " Kabinen.");
}
...
}
$fidelio = new Ship("Fidelio",125);
Vererbung
Eine Klasse kann ihre Eigenschaften und Methoden an eine neue Klasse vererben. Die neue Klasse kann erweitert werden.
Beispiel PHP
class Luxusliner extends Ship {
public $luxuryCoaches;
function golfSimulatorStart(){
echo "Golfsimulator gestartet";
}
}
$maryqueen = new Luxusliner("Mary Queen",650);
Methoden und Eigenschaften
Methoden überschreiben
Beispiel PHP
class Ship{
$engineStatus = 'OFF';
function startEngine(){
$this->engineStatus = 'ON';
}
}
class Luxusliner extends Ship{
additionalEngineStatus = 'OFF';
function startEngine(){
$this->engineStatus = 'ON';
$this->additionalEngineStatus = 'ON';
}
}