JavaScript'te OOP'de Kalıtım Sırasında Yapıcı Metot
Kalıtım sırasında üst sınıfın yapıcı metodunu geçersiz kılabilirsiniz. Bir örnek üzerinden inceleyelim. Aşağıdaki gibi bir üst sınıfımız olsun:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
Üst sınıftan aşağıdaki sınıfın miras aldığını varsayalım:
class Student extends User {
}
Alt sınıfta yapıcı metodu genişletip, ona ek parametreler eklemek istediğimizi varsayalım:
class Student extends User {
constructor(name, surn, year) {
}
}
Bu durumda, ilk satırda super aracılığıyla
üst sınıfın yapıcı metodunu mutlaka
çağırmamız gerekir:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
super komutu temelde üst sınıfın
yapıcı metodudur. Bu nedenle ona gerekli
parametreleri aktaralım:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
Şimdi alt sınıfta öğrenim yılını alt sınıfın kendi özelliğine yazalım:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
Öğrenim yılı için bir getter metodu yapalım:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
Employee sınıfının bu dersteki
User sınıfından miras aldığını
varsayalım.
Employee sınıfında üst sınıfın yapıcı
metodunu, yaş ve maaş parametreleri
ekleyerek geçersiz kılın.
Yaş ve maaş için getter metotları yapın.