Kalıtım
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 24 / 56.
JavaScript OOP'de kalıtım, bir sınıfın başka bir sınıftaki tüm özelliklere ve metotlara erişim sağlamasının bir yoludur.
Bir örneğe bakalım. Bir ebeveyn sınıf oluşturun:
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Şimdi Vehicle sınıfından miras alan bir alt sınıf oluşturun:
// Car, Vehicle sınıfından miras alır
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Alt sınıfın bir örneğini oluşturun:
const myCar = new Car("Toyota", "Camry");Özelliklere ve metotlara erişin:
console.log(myCar.brand); // "Toyota" - Vehicle'dan miras alındı
console.log(myCar.model); // "Camry" - Vehicle'dan miras alındı
// Car, Vehicle'ın metotlarına erişebilir
myCar.drive(); // "Driving!" - Vehicle'dan miras alındı
// Car'ın kendine ait metotları da vardır
myCar.honk(); // "Beep beep!" - Car'a özgüGörev
Size bir Animal sınıfı ve ondan miras alan bir Dog sınıfı verilmiştir. Göreviniz, adı "Buddy" ve yaşı 3 olan bir myDog nesnesi oluşturmaktır.
Kopya kağıdı
Kalıtım (Inheritance), bir sınıfın extends anahtar kelimesini kullanarak başka bir sınıftan özelliklere ve metotlara erişim sağlamasına olanak tanır.
Ebeveyn (Parent) sınıf:
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Ebeveynden miras alan çocuk (Child) sınıf:
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Çocuk sınıf, ebeveyn sınıftaki tüm özellikleri ve metotları miras alır ve ayrıca kendine ait metotlara da sahip olabilir:
const myCar = new Car("Toyota", "Camry");
console.log(myCar.brand); // "Toyota" - miras alındı
myCar.drive(); // "Driving!" - miras alındı
myCar.honk(); // "Beep beep!" - kendi metoduKendin dene
import { Dog } from './animal.js';
// YAPILACAK: "Buddy" isminde ve 3 yaşında myDog nesnesini oluşturun.
// Test kodu - değiştirmeyin
console.log(myDog.name); // "Buddy" çıktısını vermeli
console.log(myDog.age); // 3 çı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 Çekme9Statik 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