Menu
Coddy logo textTech

"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" (bir ...-dır) ilişkisi, kalıtımın ne zaman mantıklı olduğunu belirlemek için kullanılan basit bir testtir. Eğer "X bir Y'dir" diyebiliyorsanız ve bu kulağa doğru geliyorsa, o zaman X muhtemelen Y'den kalıtım almalıdır.

Doğru (Kalıtım Kullanın):

  • "Bir Köpek bir Hayvan dı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ü bir araba kullanır
  • "Bir Tekerlek bir Arabadır" → Hayır, bir tekerlek bir arabanın parçasıdır
  • "Bir Öğrenci bir Sınıf is a" → 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}`);
  }
}
// Bir Novel bir Book'tur (doğru kalıtım)
class Novel extends Book {
  constructor(title, author, pages, genre) {
    super(title, author, pages);
    this.genre = genre;
  }
}
// Sınıfların kullanımı
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

Size bir ElectronicDevice sınıfı ve bir Smartphone sınıfı veriliyor. Bir Smartphone, ek özelliklere sahip bir ElectronicDevice türüdür. Göreviniz, 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