super() Metodu
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 27 / 56.
super() metodu, üst sınıfın constructor'ını kullanarak nesneyi oluşturur ve başlatır. Alt sınıfa herhangi bir özellik eklemeden önce çağrılmalıdır.
Şöyle düşünün: üst sınıf nesnenin temelini oluşturur ve super(), alt sınıf kendi özelliklerini eklemeden önce "önce o temeli oluştur" der.
Örneğe bir göz atalım. Bir ebeveyn sınıf oluşturun:
class Employee {
constructor(name) {
this.name = name;
}
}Şimdi üst sınıfı genişleten bir alt sınıf oluşturun:
class Manager extends Employee {
constructor(name, department) {
super(name); // Üst sınıf yapıcısını name ile çağırın
this.department = department;
}
}Burada neler oluyor:
constructor(name, department)- Manager hem name hem de department'a ihtiyaç duyarsuper(name)-namebilgisini Employee'nin constructor'ına iletir
this.department- Manager'ın benzersiz özelliğini ayarlar
Bu, hem kalıtım yoluyla alınan özelliklere (name) hem de kendi özelliklerine (department) sahip bir Manager oluşturur!
Alt sınıfın bir örneğini oluşturun:
const myManager = new Manager("Sarah", "Engineering");
console.log(myManager.name); // "Sarah"
console.log(myManager.department); // "Engineering"Türetilmiş bir sınıfın constructor'ında this kullanmadan önce super() metodu çağrılmalıdır. Eğer super() çağırmazsanız, JavaScript bir referans hatası fırlatacaktır.
Görev
Meal sınıfını genişleten bir Salad sınıfı verilmiştir. Salad hem bir name hem de ingredients özelliğine sahip olmalıdır.
Göreviniz, Salad sınıfı constructor'ını aşağıdakileri yaparak tamamlamaktır:
nameözelliği ilesuper()fonksiyonunu çağırmakingredientsözelliğini atamak
Kendin dene
import { Meal } from './classes.js';
import { Salad } from './classes.js';
// Test kodu - değiştirmeyin
const salad = new Salad("Caesar", ["lettuce", "croutons", "cheese"]);
console.log(salad.name); // "Caesar" çıktısını vermeli
console.log(salad.ingredients); // ["lettuce", "croutons", "cheese"] çıktısını vermeliBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesneler ve this Anahtar Kelimesi
Hızlı Tekrar: NesnelerNesnelere Metot Eklemethis Anahtar Kelimesini AnlamakYapıcı Fonksiyonlarnew Anahtar KelimesiGenel Tekrar Uygulaması7Kalıtım ve extends Anahtar Kelimesi
Kalıtım"is-a" İlişkisiextends Anahtar Kelimesisuper() MetoduÖzellikleri ve Metotları DevralmaÖzet Meydan Okuması2Kodu Düzenleme
Modüller Nedir?export ile Dışa Aktarmaimport ile İçe AktarmaVarsayılan ve Adlandırılmış Dışa Aktarmalar8OOP Kodunu Düzenleme
Sınıfları Modüller Halinde Düzenleme6Proje: Basit Bir Banka Hesabı
BankAccount SınıfıPara Yatırma ve Para ÇekmePrivate Alan Olarak Bakiye9Statik Metotlar ve Özellikler
Sınıf Düzeyi ve Örnek DüzeyiStatik ÖzelliklerStatik Yardımcı MetotlarÖzet Meydan Okuma12Getter ve Setter'lar
get ve set Anahtar KelimeleriHesaplanmış ÖzelliklerDoğrulama ve Yan EtkilerÖzet Meydan Okuması15Final Meydan Okumaları
Oyun Karakteri OluşturucuE-ticaret Ürün SistemiÜniversite Yönetim SistemiAkıllı Ev Cihaz Sistemi