Rozszerzanie klas z extends w JavaScript

W JavaScript, dziedziczenie klas umożliwia tworzenie hierarchii obiektów, gdzie klasy potomne mogą dziedziczyć właściwości i metody od klas bazowych. Jest to potężne narzędzie, które umożliwia ponowne wykorzystanie kodu i organizację złożonych struktur klas. W tej lekcji zobaczymy, jak używać dziedziczenia do modelowania ciężarówek jako specjalnego rodzaju pojazdów.

Definiowanie klasy bazowej

Zacznijmy od zdefiniowania klasy bazowej Vehicle, która będzie zawierać podstawowe cechy wspólne dla wszystkich pojazdów.

class Vehicle {
    constructor(brand, model, year) {
        this.brand = brand;
        this.model = model;
        this.year = year;
    }

    displayDetails() {
        console.log(`Marka: ${this.brand}, 
                     Model: ${this.model}, Rok: ${this.year}`);
    }
}

Rozszerzanie klasy bazowej

Teraz zdefiniujemy klasę Truck, która dziedziczy z klasy Vehicle i dodaje specyficzne dla siebie właściwości, takie jak maksymalne obciążenie (maxLoad).

class Truck extends Vehicle {
    constructor(brand, model, year, maxLoad) {
        super(brand, model, year); // Wywołanie konstruktora klasy bazowej
        this.maxLoad = maxLoad;
    }

    displayLoadCapacity() {
        console.log(`Maksymalne obciążenie: ${this.maxLoad} kg`);
    }
}

Tworzenie instancji klasy potomnej

Możemy teraz stworzyć instancję naszej klasy Truck, która dziedziczy metody i właściwości z klasy Vehicle oraz posiada dodatkowe cechy charakterystyczne dla ciężarówki.

let myTruck = new Truck("Volvo", "FH16", 2021, 25000);
myTruck.displayDetails(); // Marka: Volvo, Model: FH16, Rok: 2021
myTruck.displayLoadCapacity(); // Maksymalne obciążenie: 25000 kg

Podsumowanie

Dziedziczenie w JavaScript pozwala na tworzenie złożonych hierarchii obiektów z wykorzystaniem klas. Kluczową zaletą jest możliwość ponownego wykorzystania kodu oraz uporządkowanie struktury projektu. Przykład z ciężarówkami pokazuje, jak łatwo możemy rozszerzać klasy bazowe, dodając nowe właściwości i metody, co czyni nasz kod bardziej modułowym i łatwym do zarządzania. Dziedziczenie to fundament programowania obiektowego w JavaScript, umożliwiający efektywne modelowanie i implementację złożonych systemów.

Jeżeli chcesz przyśpieszyć swoją naukę chciałbym polecić mój kurs video JavaScript w którym nauczysz się tego języka od podstaw do zaawansowanych jego koncepcji.

 

Scroll to Top