Konstruktorfunktionen
Teil des Abschnitts Objektorientierte Programmierung der JavaScript-Journey von Coddy — Lektion 4 von 56.
Konstruktorfunktionen sind spezielle Funktionen in JavaScript, die es Ihnen ermöglichen, mehrere Objekte mit derselben Struktur und demselben Verhalten zu erstellen.
Definiere eine Konstruktorfunktion für eine Person:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Erstellen Sie ein neues Person-Objekt mit dem Konstruktor:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);Nach der Ausführung des obigen Codes ist john ein Objekt mit Eigenschaften:
// john Objekt enthält:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}Greifen Sie auf Eigenschaften zu und rufen Sie Methoden auf:
console.log(john.name); // Ausgabe: John
console.log(john.greet()); // Ausgabe: Hello, my name is JohnAufgabe
- Erstellen Sie eine Konstruktorfunktion namens
Book, die drei Argumente entgegennimmt:
title(String)author(String)pages(Number)
Die Funktion sollte diese als Eigenschaften für das erstellte Objekt festlegen.
2. Fügen Sie eine Methode namens getSummary hinzu, die einen String mit Informationen über das Buch zurückgibt: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
Spickzettel
Konstruktorfunktionen erstellen mehrere Objekte mit derselben Struktur. Verwenden Sie das Schlüsselwort new, um Instanzen zu erstellen:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}
const john = new Person("John", 30);
console.log(john.name); // Ausgabe: John
console.log(john.greet()); // Ausgabe: Hello, my name is JohnProbier es selbst
// TODO: Erstelle eine Konstruktorfunktion namens Book, die drei Argumente entgegennimmt (title, author, pages)
// TODO: Setze diese als Eigenschaften für das erstellte Objekt
// TODO: Füge eine Methode namens getSummary hinzu, die einen String mit Informationen über das Buch zurückgibt.
// Zum Beispiel: Harry Potter was written by Rowling and has 500 pages
// Den Code unten nicht ändern
const inputTitle = inp[0]; // Erste Zeile: Buchtitel
const inputAuthor = inp[1]; // Zweite Zeile: Autor
const inputPages = parseInt(inp[2]);// Dritte Zeile: Anzahl der Seiten
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Objektorientierte Programmierung
1Objekte & das this-Schlüsselwort
Kurze Wiederholung: ObjekteMethoden zu Objekten hinzufügenDas this-Schlüsselwort verstehenKonstruktorfunktionenDas new-SchlüsselwortWiederholungs-Challenge7Vererbung & das extends-Schlüsselwort
VererbungDie „ist-ein“-BeziehungDas extends-SchlüsselwortDie super()-MethodeVererben von Eigenschaften & MethodenWiederholungs-Challenge10Polymorphie
Was ist Polymorphie?Geerbte Methoden überschreibenVerwendung von superWiederholungs-Challenge13Komposition vs. Vererbung
Die "hat-ein"- vs. "ist-ein"-BeziehungDie Grenzen tiefer VererbungObjekte zusammenbauen2Code organisieren
Was sind Module?Exportieren mit exportImportieren mit importDefault- vs. benannte Exports5Kapselung & Zugriff
KapselungÖffentliche & private KlassenfelderPrivate MethodenWiederholungs-Herausforderung8OOP-Code strukturieren
Klassen in Modulen organisieren11Projekt: Ein Shape-Renderer
Setup: Shape-Klasse & ExportCircle-Klasse: Vererbung14Bibliotheksverwaltungssystem
Entwurf der BibliothekBuch-Klasse mit Komposition3Klassen & Objekte
Was ist eine Klasse?Instanzen erstellenEigenschaften und MethodenWiederholungs-Challenge6Projekt: Ein einfaches Bankkonto
Klasse BankAccountEinzahlungen und Auszahlungen9Statische Methoden & Eigenschaften
Klassenebene vs. InstanzebeneStatische EigenschaftenStatische HilfsmethodenWiederholungs-Challenge12Getter & Setter
Die Schlüsselwörter get und setBerechnete EigenschaftenValidierung und SeiteneffekteWiederholungs-Challenge15Abschluss-Herausforderungen
Spielfiguren-BuilderE-Commerce ProduktsystemUniversitäts-VerwaltungssystemSmart-Home-Gerätesystem