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:
DogveCatsınıflarıAnimalsınıfından türemiştir. - Polimorfizm:
myDogvemyCatdeğişkenleri sırasıylaDogveCatnesnelerine referans verir, her ne kadar tipleriAnimalolsa da.makeSound()çağrıldığında, nesnenin metodları çalıştırılır, referans tipinin değil.