Referans tipleri bağlamında kalıtım ve çok biçimlilik nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Miras, mevcut bir sınıfın (taban, ebeveyn) alanlarını ve yöntemlerini miras alan yeni bir sınıf (türemiş, alt) oluşturmayı sağlayan 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 aynı şekilde davranabilme veya aynı yöntemi çağırırken farklı davranışlar sergileyebilme yeteneğidir. İki ana türü vardır: statik (yöntem aşırı yükleme) ve dinamik (yöntem geçersiz kılma).
Referans veri türleri bağlamında, kalıtım, temel sınıfın bir değişkeninin türemiş sınıf nesnesine referans verebilmesini sağlar. Bu durumda polimorfizm, böyle bir değişken aracılığıyla bir yöntemi çağırdığınızda, gerçek nesne türündeki sürümün çalıştırılmasıyla kendini gösterir, referans türünden değil (dinamik polimorfizm).
Java'da örnek:
// Temel sınıf
class Animal {
public void makeSound() {
System.out.println("Ses çıkarıyor");
}
}
// Türemiş sınıf 1
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Hav hav");
}
}
// Türemiş sınıf 2
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Miyav miyav");
}
}
class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Animal türünde değişken, Dog nesnesine referans
Animal myCat = new Cat(); // Animal türünde değişken, Cat nesnesine referans
myDog.makeSound(); // Dog'un yöntemi çağrılır (polimorfizm)
myCat.makeSound(); // Cat'in yöntemi çağrılır (polimorfizm)
}
}
Bu örnekte, myDog ve myCat referans türleri Animal olmasına rağmen, polimorfizm sayesinde makeSound() çağrıldığında, Dog ve Cat'in uygun uygulamaları çalıştırılır.