Menu
CoddyTech

"is-a" İlişkisi

Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 25 / 56.

“is-a” ilişkisi, kalıtımın ne zaman anlamlı olduğunu belirlemek için kullanılan basit bir testtir. “X bir Y'dir” diyebiliyor ve kulağa doğru geliyorsa, X muhtemelen Y'den kalıtım almalıdır.

Doğru (Kalıtım kullan):

  • "Bir Köpek bir Hayvandır" → class Dog extends Animal
  • "Bir Araba bir Araçtır" → class Car extends Vehicle
  • "Bir Ders Kitabı bir Kitaptır" → class Textbook extends Book

Yanlış (Kalıtım Kullanmayın):

  • "Bir sürücü bir arabadır" → Hayır, bir sürücü araba kullanır
  • "Bir Tekerlek bir Arabadır" → Hayır, tekerlek bir arabanın parçasıdır
  • "Bir Öğrenci bir Sınıftır" → Hayır, bir öğrenci bir sınıfın içindedir

Örneğin, iki nesneyi ele alalım:

// Temel sınıf - hepsinin NE OLDUĞU
class Book {
  constructor(title, author, pages) {
    this.title = title;
    this.author = author;
    this.pages = pages;
  }
  
  read() {
    console.log(`Reading ${this.title} by ${this.author}`);
  }
}
// Novel, Book türündedir (doğru kalıtım)
class Novel extends Book {
  constructor(title, author, pages, genre) {
    super(title, author, pages);
    this.genre = genre;
  }
}
// Sınıfları kullanma
const fiction = new Novel("1984", "George Orwell", 328, "Dystopian");
fiction.read();    // "Reading 1984 by George Orwell" - Book sınıfından miras alındı
challenge icon

Görev

Sana bir ElectronicDevice sınıfı ve bir Smartphone sınıfı veriliyor. Smartphone, ek özelliklere sahip bir ElectronicDevice türüdür. Görevin, markası "Samsung" ve modeli “Galaxy S23” olan bir `myPhone` nesnesi oluşturmaktır.

Kendin dene

import { ElectronicDevice } from './electronicDevice.js';
import { Smartphone } from './smartphone.js';


// TODO: Markası "Samsung" ve modeli “Galaxy S23” olan bir `myPhone` nesnesi oluşturun.


// Test kodu - değiştirmeyin
console.log(myPhone.turnOn());  // Çıktı "Samsung Galaxy S23 is now ON" olmalı
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

Kendi başına pratik yap: Online JavaScript derleyicisi