JavaScript-daky OOP-de Miras Alanda Konstruktor
Miras alanda atanyň konstruktoryny üýtgedip bolýar. Geliň mysal üsti bilen göreli. Bizde aşakdaky ýaly ata klas bolsun:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Ata klasdan aşakdaky klas miras alsyn:
class Student extends User {
}
Farz edeliň, çagyrylan klasda konstruktory giňeltmek isleýäris, ona goşmaça parametrler goşup:
class Student extends User {
constructor(name, surn, year) {
}
}
Bu ýagdaýda biz ilkinji setirde ata
konstruktoryny super arkaly çakymaly:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
Super buýrugy esasan ata
konstruktorydyr. Şonuň üçin ona zerur
parametrleri geçireliň:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Indi çagyrylanda okuw ýyllygyny çagyrylan klasyň öz aýratynlygyna ýazalyň:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Okuw ýyly üçin getter ýasaýarys:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Employee klasy bu sapagyň
User klasyndan miras alsyn.
Employee klasynda atanyň
konstruktoryny üýtgediň, ýaş we maaş
parametrlerini goşuň.
Ýaş we maaş üçin getterler ýasaň.