Programlamada çok biçimlilik nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Polimorfizm, farklı sınıflardan nesnelerin aynı yöntem çağrısına farklı şekilde yanıt verme yeteneğidir. Bu, kalıtım, soyut sınıflar ve arayüzler kullanılarak elde edilir. C#'ta polimorfizm, temel sınıfın yöntemlerinin türetilmiş sınıflarda yeniden tanımlanması (overriding) ve yöntemlerin aşırı yüklenmesi (overloading) yoluyla gösterilir.
Polimorfizme örnekler:
-
Yöntemlerin yeniden tanımlanması (Çalışma zamanında Polimorfizm): Türetici sınıf, temel sınıfta bildirilen bir yöntemin kendi uygulamasını sağlar. Bunun için temel sınıfta
virtualanahtar kelimesi kullanılır, türetilmiş sınıfta iseoverride.// Temel sınıf class Shape { // Yeniden tanımlanabilir sanal yöntem public virtual void Draw() { // Varsayılan uygulama } } // Türetici sınıf 1 class Circle : Shape { // Draw yönteminin yeniden tanımlanması public override void Draw() { // Daire için uygulama } } // Türetici sınıf 2 class Square : Shape { // Draw yönteminin yeniden tanımlanması public override void Draw() { // Kare için uygulama } }Bu durumda,
Shapenesnelerinin bir listesi oluşturulabilir ve her biri içinDrawyöntemi çağrılabilir; ve her şekil türü için özgü uygulama çağrılır. -
Yöntemlerin aşırı yüklenmesi (Derleme zamanında Polimorfizm): Aynı isimde, farklı imzaya sahip (parametre sayısı veya türleri) birden çok yöntem, aynı sınıfta.
class Calculator { // Aşırı yüklenmiş Add yöntemi (int için) public int Add(int x, int y) { return x + y; } // Aşırı yüklenmiş Add yöntemi (double için) public double Add(double x, double y) { return x + y; } }
Polimorfizm, daha esnek, genişletilebilir ve bakımı kolay kod oluşturmayı teşvik eder. Farklı türde nesnelerle çalışabilen genel kod yazmaya olanak tanır.