Junior
Miras ve çok biçimlilik arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Miras, bir sınıfın (alt sınıf, türetilmiş sınıf) başka bir sınıfın (üst sınıf, temel sınıf) alanlarını ve metodlarını miras almasını sağlayan bir mekanizmadır. Bu, kodun yeniden kullanılmasını teşvik eder.
Polimorfizm, aynı arayüzü kullanarak farklı temel biçimleri temsil etme yeteneğidir. Java bağlamında, bu, referans türündeki bir değişkenin kendi türündeki bir nesneye veya herhangi bir alt türüne referans verebileceği anlamına gelir. Derleme zamanı polimorfizmi (metot aşırı yükleme) ve çalışma zamanı polimorfizmi (metot geçersiz kılma) olarak ayrılır.
Ana fark:
- Miras, sınıflar arasında ilişkiler tanımlar (ebeveyn-çocuk) ve kodun yeniden kullanılmasını sağlar.
- Polimorfizm, ortak bir arayüz aracılığıyla farklı nesnelere erişmeyi sağlar ve nesnenin gerçek türüne bağlı olarak uygun metodu çalıştırır.
Çalışma zamanında polimorfizme örnek:
class Animal {
public void sound() {
System.out.println("Hayvan ses çıkarır");
}
}
class Dog extends Animal {
@Override
public void sound() {
System.out.println("Hav hav");
}
}
class Cat extends Animal {
@Override
public void sound() {
System.out.println("Miyav miyav");
}
}
public class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Polimorfizm: Animal türünde değişken, Dog nesnesine referans eder
Animal myCat = new Cat(); // Polimorfizm: Animal türünde değişken, Cat nesnesine referans eder
myDog.sound(); // Dog sınıfındaki sound() metodunu çağırır
myCat.sound(); // Cat sınıfındaki sound() metodunu çağırır
}
}