⊗jsOpIhOPM 31 of 60 menu

Przesłanianie metod rodzica w OOP w JavaScript

Klasa potomna może przesłonić metodę rodzica, tworząc metodę o tej samej nazwie. Spójrzmy na przykład. Załóżmy, że mamy następującą klasę nadrzędną:

class User { setName(name) { this.name = name; } getName() { return this.name; } }

Stwórzmy metodę o tej samej nazwie w klasie potomnej:

class Student extends User { setName(name) { } }

Zazwyczaj przesłanianie metod rodzica jest potrzebne po to, aby zmienić lub uzupełnić zachowanie tej metody. W naszym przypadku dodajmy sprawdzenie długości imienia:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

Upewnijmy się, że wywoływana jest właśnie przesłonięta metoda. Na początek stwórzmy obiekt klasy potomnej:

let student = new Student;

Teraz wywołajmy naszą metodę, przekazując do niej poprawne wartości:

student.setName('john');

A teraz wywołajmy metodę, przekazując do niej niepoprawną wartość. W rezultacie zobaczymy w konsoli wyrzucony błąd:

student.setName(''); // błąd

W klasie User zrób getter i setter wieku.

W klasie Employee przesłoń setter wieku i zrób w nim sprawdzenie, czy wiek jest od 18 do 65 lat.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć