Właściwości i metody
Część sekcji Programowanie obiektowe ścieżki JavaScript w Coddy. Lekcja 13 z 56.
Klasy w JavaScript pozwalają definiować właściwości i metody, które będą współdzielone przez wszystkie instancje klasy.
Utwórz klasę z właściwościami:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
}Podczas tworzenia instancji konstruktor ustawia te właściwości:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.make); // Wynik: 'Toyota'
console.log(myCar.model); // Wynik: 'Corolla'Dodaj metodę do klasy:
class Car {
constructor(make, model) {
this.make = make;
this.model = model;
}
getDescription() {
return `This car is a ${this.make} ${this.model}.`;
}
}Teraz możemy wywołać tę metodę na dowolnej instancji:
const myCar = new Car('Toyota', 'Corolla');
console.log(myCar.getDescription()); // Wynik: 'This car is a Toyota Corolla.'Wyzwanie
Utwórz klasę o nazwie Book w pliku book.js, która zawiera:
- Konstruktor, który przyjmuje parametry
title,authoripagesoraz ustawia je jako właściwości. - Metodę o nazwie
getInfo, która zwraca ciąg znaków w formacie: “Title: [title], Author: [author], Pages: [pages]” - Eksportuj klasę, dodając `export` przed deklaracją `class`
Spróbuj swoich sił
import { Book } from './book.js';
// Test (nie modyfikuj tej części)
const book = new Book("JavaScript Basics", "John Doe", 200);
console.log(book.getInfo());
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