Ümumi davranışı təkrar yazma
extends törəmə sinif yaradır. Törəmə konstruktor this istifadə etməzdən əvvəl super ilə əsas konstruktoru çağırmalıdır. Əsas metodlar miras alınır; eyni adlı metodla davranışı dəyişmək olar.
class Person {
constructor(name) { this.name = name; }
rename(name) { this.name = name; }
describe() { return this.name; }
}
class Player extends Person {
constructor(name, level) {
super(name);
this.level = level;
}
describe() { return `${super.describe()} — səviyyə ${this.level}`; }
}
const player = new Player('Aysel', 3);
player.rename('Leyla');
console.log(player.describe());
Obyekt yönümlü prinsiplər
İrsilik ümumi davranışı törəməyə ötürür. Kapsullama məlumat və onu idarə edən əməliyyatları birləşdirir, lazım gəldikdə daxili detalları gizlədir. Polimorfizm eyni əməliyyat adının müxtəlif tiplərdə fərqli davranmasına imkan verir.
Yalnız həqiqi “bu da həmin tipin bir növüdür” əlaqəsində irsilik seç. Sadəcə kod paylaşmaq üçün çoxpilləli irsilik qurmaq əvəzinə funksiyalar və kompozisiyanı düşün. Admin-ə rol, Player-ə səviyyə əlavə et, ortaq ad dəyişməsini bir yerdə saxla.