Menu
Coddy logo textTech

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ü
challenge icon

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 metodu

Kendin 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ı vermeli
quiz iconKendini test et

Bu 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