Sobes.tech
Junior

Referans tipleriyle kalıtım ve çok biçimlilik nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Miras kalıtım, bir sınıfın (alt sınıf, türeyen sınıf) başka bir sınıfın (üst sınıf, ana sınıf) özelliklerini ve davranışlarını almasına izin veren bir mekanizmadır. Bu, kodun yeniden kullanılmasını ve sınıf hiyerarşilerinin oluşturulmasını teşvik eder.

Polimorfizm, farklı sınıflardan nesnelerin, belirli bir mesaj (metod çağrısı) için, kendi özgü türlerine bağlı olarak farklı şekilde tepki verme yeteneğidir. Kalıtım bağlamında, bu genellikle temel sınıfın metodlarının türeyen sınıfta yeniden tanımlanmasıyla ortaya çıkar.

Örnek (Java):

// Temel sınıf
class Animal {
    public void makeSound() {
        System.out.println("Hayvan ses çıkarıyor");
    }
}

// Türeyen sınıf
class Dog extends Animal {
    @Override // Metodun yeniden tanımlanması
    public void makeSound() {
        System.out.println("Hav!" );
    }
}

// Türeyen sınıf
class Cat extends Animal {
    @Override // Metodun yeniden tanımlanması
    public void makeSound() {
        System.out.println("Miyav!");
    }
}

class Main {
    public static void main(String[] args) {
        Animal myDog = new Dog(); // Köpek nesnesi, ama referansı Animal
        Animal myCat = new Cat(); // Kedi nesnesi, ama referansı Animal

        myDog.makeSound(); // Köpek metodunu çağırır
        myCat.makeSound(); // Kedi metodunu çağırır
    }
}

Bu örnekte:

  • Miras: Dog ve Cat sınıfları Animal sınıfından türemiştir.
  • Polimorfizm: myDog ve myCat değişkenleri sırasıyla Dog ve Cat nesnelerine referans verir, her ne kadar tipleri Animal olsa da. makeSound() çağrıldığında, nesnenin metodları çalıştırılır, referans tipinin değil.