Konstruktorfunktionen
Vom Aufbau haben sie keinen großen Unterschied zu normalen Funktionen in der Literal-Schreibweise, wie wir sie bisher kennengelernt haben.
Ein "Konstruktor" ist eine Funktion, die neue Objekte erzeugt. Diese neu erzeugten Objekte werden auch "Instanzen" des Konstruktors genannt.
function Auto(marke, typ, kraftstoff, baujahr, farbe) {
this.marke = marke;
this.typ = typ;
this.kraftstoff = kraftstoff;
this.baujahr = baujahr;
this.farbe = farbe;
this.zeigeBeschreibung = function() {
console.log(this.marke + ' ' + this.typ + ' in ' + this.farbe);
}
}
Diese Funktion erzeugt für uns das Objekt "Auto" mit den Eigenschaften: "marke", "typ", "kraftstoff", "baujahr" und "farbe" sowie der Methode: "zeigeBeschreibung
".
Wenn Objekte auf diese Art und Weise erzeugt werden, dann hat es sich durchgesetzt, den Objektnamen großzuschreiben.
Nun können wir mit dem Schlüsselwort "new
" eine neue leere Instanz des Objekts erzeugen.
let kleinwagen = new Auto('Seat', 'Ibiza', 'Benzin', 2017, 'Gold', function() {
console.log(this.marke + ' ' + this.typ + ' in ' + this.farbe)
});
kleinwagen.zeigeBeschreibung();
Damit erstellen wir eine Variable mit dem Namen "kleinwagen". Wir übergeben die Eigenschaften: "Seat", "Ibiza", "Benzin", "2017", "Gold" und eine Funktion als Argumente in die Konstruktorfunktion. Diese Konstruktorfunktion erstellt uns daraus ein Objekt mit den Eigenschaften.
Wir können auf diese Weise in kürzerer Zeit mehrere Objekte erzeugen.
let mittelklasse = new Auto('Mazda', '6', 'Benzin', 2018, 'Blau', function() {
console.log(this.marke + ' ' + this.typ + ' in ' + this.farbe)
});
let suv = new Auto('BMW', 'X1', 'Diesel', 2016, 'Schwarz', function() {
console.log(this.marke + ' ' + this.typ + ' in ' + this.farbe)
});
mittelklasse.zeigeBeschreibung();
suv.zeigeBeschreibung();
Weiter mit Klassen