Funkcje konstruktora
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 4 z 56.
Funkcje konstruktora to specjalne funkcje w JavaScript, które pozwalają tworzyć wiele obiektów o tej samej strukturze i zachowaniu.
Zdefiniuj funkcję konstruktora dla osoby:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Utwórz nowy obiekt Person za pomocą konstruktora:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);Po wykonaniu powyższego kodu john jest obiektem z właściwościami:
// Obiekt john zawiera:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}Uzyskuj dostęp do właściwości i wywołuj metody:
console.log(john.name); // Wypisuje: John
console.log(john.greet()); // Wypisuje: Hello, my name is JohnWyzwanie
- Utwórz funkcję konstruktora o nazwie
Book, która przyjmuje trzy argumenty:
title(String)author(String)pages(Number)
Funkcja powinna ustawić je jako właściwości utworzonego obiektu.
2. Dodaj metodę o nazwie getSummary, która zwraca ciąg znaków zawierający informacje o książce: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
Spróbuj swoich sił
// TODO: Utwórz funkcję konstruktora o nazwie Book, która przyjmuje trzy argumenty (title, author, pages)
// TODO: Ustaw je jako właściwości utworzonego obiektu
// TODO: Dodaj metodę getSummary, która zwraca ciąg znaków zawierający informacje o książce.
// Na przykład: Harry Potter was written by Rowling and has 500 pages
// Nie modyfikuj poniższego kodu
const inputTitle = inp[0]; // Pierwszy wiersz: tytuł książki
const inputAuthor = inp[1]; // Drugi wiersz: autor
const inputPages = parseInt(inp[2]);// Trzeci wiersz: liczba stron
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Programowanie obiektowe
1Obiekty i słowo kluczowe this
Szybka powtórka: obiektyDodawanie metod do obiektówZrozumienie słowa kluczowego thisFunkcje konstruktoraSłowo kluczowe newWyzwanie podsumowujące7Dziedziczenie i słowo kluczowe extends
DziedziczenieRelacja „jest rodzajem”Słowo kluczowe extendsMetoda super()Dziedziczenie właściwości i metodWyzwanie podsumowujące10Polimorfizm
Czym jest polimorfizm?Nadpisywanie odziedziczonych metodUżywanie superWyzwanie podsumowujące13Kompozycja a dziedziczenie
Relacja „ma” a relacja „jest”Ograniczenia głębokiego dziedziczeniaTworzenie obiektów2Organizowanie kodu
Czym są moduły?Eksportowanie za pomocą exportImportowanie za pomocą importEksporty domyślne a nazwane5Enkapsulacja i dostęp
EnkapsulacjaPubliczne i prywatne pola klasyMetody prywatneWyzwanie podsumowujące8Organizowanie kodu OOP
Organizowanie klas w moduły11Projekt: Renderer kształtów
Konfiguracja: klasa Shape i eksportDziedziczenie klasy CircleNadpisywanie i metoda obliczania polaStatyczny licznik kształtów14System zarządzania biblioteką
Projektowanie bibliotekiKlasa Book z kompozycjąWalidacja autora książki9Metody i właściwości statyczne
Poziom klasy a poziom instancjiWłaściwości statyczneStatyczne metody pomocniczeWyzwanie podsumowującePoćwicz samodzielnie: Kompilator JavaScript online