C#

C# Polymorphism

Herkese merhaba, C# yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Polymorphism konusunu anlatacağım. Hadi başlayalım !

Tanımı

C# dilinde, polymorphism (çok biçimlilik), farklı sınıfların aynı isimli metotları kullanarak farklı davranışlar sergilemelerini sağlar. Bu sayede, kodun okunabilirliği ve yeniden kullanılabilirliği artar. Polymorphism, C#’da inheritance (kalıtım) ve interface’lerle sağlanır.

Class İle Kullanımı

Aşağıdaki örnek, inheritance kullanarak polymorphism sağlamak için bir örnektir:

public class Animal
{
    public virtual void Eat()
    {
        Console.WriteLine("The animal is eating.");
    }
}

public class Dog : Animal
{
    public override void Eat()
    {
        Console.WriteLine("The dog is eating.");
    }
}

public class Cat : Animal
{
    public override void Eat()
    {
        Console.WriteLine("The cat is eating.");
    }
}

class Program
{
    static void Main(string[] args)
    {
        Animal animal = new Animal();
        Animal dog = new Dog();
        Animal cat = new Cat();

        animal.Eat();
        dog.Eat();
        cat.Eat();

        Console.ReadKey();
    }
}

Kod Açıklamaları

Bu örnekte, Animal adında bir üst sınıf ve bu sınıfı inherit eden Dog ve Cat adında alt sınıflar bulunur. Animal sınıfında, Eat() adında bir metod tanımlanmıştır. Bu metod, alt sınıflar tarafından override edilebilir.

Dog ve Cat sınıfları, Animal sınıfını inherit eder ve Eat() metodunu override eder. Bu metodların içinde, sınıfların yemek yeme şekilleriyle ilgili bilgiler yazdırılır.

Main metodunda, Animal, Dog ve Cat nesneleri oluşturulur ve Eat() metoduna erişilir. Çıktı olarak, her sınıfın yemek yeme şekline göre bir yazı yazdırılır.

Bu örnekte, Animal sınıfı, alt sınıflarının uyması gereken bir davranış (Eat() metodunu implemente etmek) sağlar. Bu sayede, alt sınıfların kendilerine özgü yemek yeme şekillerini (polymorphism) sergilemeleri mümkün olur.

Interface İle Kullanımı

Aşağıdaki örnek ise interface’ler kullanarak polymorphism sağlamak için bir örnektir:

public interface IAnimal
{
    void Eat();
}

public class Dog : IAnimal
{
    public void Eat()
    {
        Console.WriteLine("The dog is eating.");
    }
}

public class Cat : IAnimal
{
    public void Eat()
    {
        Console.WriteLine("The cat is eating.");
    }
}

class Program
{
    static void Main(string[] args)
    {
        IAnimal dog = new Dog();
        IAnimal cat = new Cat();

        dog.Eat();
        cat.Eat();

        Console.ReadKey();
    }
}

Kod Açıklamaları

Bu örnekte, IAnimal adında bir interface ve bu interface’i implemente eden Dog ve Cat adında sınıflar bulunur. IAnimal interface’inde, Eat() adında bir metod tanımlanmıştır. Bu metod, sınıflar tarafından implemente edilmek zorundadır.

Dog ve Cat sınıfları, IAnimal interface’ini implemente eder ve Eat() metodunu implemente eder. Bu metodların içinde, sınıfların yemek yeme şekilleriyle ilgili bilgiler yazdırılır.

Main metodunda, Dog ve Cat nesneleri oluşturulur ve IAnimal tipindeki değişkenlere atanır. Bu sayede, her iki sınıfın da Eat() metoduna erişmek mümkün olur. Çıktı olarak, her sınıfın yemek yeme şekline göre bir yazı yazdırılır.

Bu örnekte, IAnimal interface’i, implemente eden sınıfların uyması gereken bir davranış (Eat() metodunu implemente etmek) sağlar. Bu sayede, bu sınıfların kendilerine özgü yemek yeme şekillerini (polymorphism) sergilemeleri mümkün olur.

Sonuç

Polymorphism, kodun okunabilirliğini ve yeniden kullanılabilirliğini artıran önemli bir konudur. C# dilinde inheritance ve interface’ler kullanarak polymorphism sağlamak mümkündür. Kodunuzu okunaklı hale getirmek ve yeniden kullanabilirliğini artırmak için, polymorphism’i kullanmayı unutmayın.

Evet C#’ta polymorphism bu şekilde yapılmakta. Tüm C# yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu