Meydan okuma - Sınıf hiyerarşisi
Sınıf, extends, super ve static ile bir çalışan-yönetici hiyerarşisi yazarsın.
Sınıf hiyerarşisi
Bu meydan okumada bir çalışan-yönetici hiyerarşisi kuracaksın. Önce class ile bir Employee sınıfı tanımlarsın; yapıcısı name alır ve this.name'e atar.
Sonra Manager sınıfını extends Employee ile türetirsin. Türetilmiş sınıfın yapıcısında super(name) çağrısı üst sınıfın yapıcısını çalıştırır; bunu this kullanmadan önce yapmalısın.
Son olarak static anahtar kelimesiyle sınıfa ait bir yöntem eklersin — bu yöntem örneklere değil sınıfın kendisine bağlıdır.
Uygulama Employee ve Manager sınıflarını yaz
Bir Employee sınıfı yaz: yapıcısı name alır ve this.name'e atar. Sonra Manager sınıfını extends Employee ile türet; yapıcısı name ve dept alır, super(name) ile üst yapıcıyı çağırır ve this.dept'e atar. Son olarak Manager'a static bir yöntem ekle.
Örnek çözümü göster
class Employee { constructor(name) { this.name = name; } } ile başla. Sonra class Manager extends Employee { constructor(name, dept) { super(name); this.dept = dept; } static create(name) { return new Manager(name, 'Genel'); } } yaz.
Örnek çözüm:
class Employee {
constructor(name) {
this.name = name;
}
}
class Manager extends Employee {
constructor(name, dept) {
super(name);
this.dept = dept;
}
static create(name) {
return new Manager(name, 'Genel');
}
}
Kendini test et
-
super(name) çağrısı ne yapar?
class Manager extends Employee { constructor(name, dept) { super(name); this.dept = dept; } }- Alt sınıfın yapıcısını çağırır
- Üst sınıfın yapıcısını çağırır
- Statik bir yöntem tanımlar
- Yeni bir örnek oluşturur
Cevabı göster
Üst sınıfın yapıcısını çağırır — Doğru! super(name) üst sınıfın yapıcısını çalıştırır ve this'i hazır hale getirir.
-
Manager sınıfını türet
class Manager ____ { constructor(name, dept) { super(name); this.dept = dept; } }Cevabı göster
class Manager extends Employee { constructor(name, dept) { super(name); this.dept = dept; } } -
Sınıf kavramlarını eşleştir
- extends
- Alt sınıf bildirimi
- super(...)
- Üst sınıf yapıcısı
- static
- Sınıfa ait yöntem
- class
- Sınıf bildirimi