Çokbiçimlilik (Polymorphism)


Bir sınıf başka bir sınıftan türetildiğinde tüm özellikleri miras alır. Bazı durumlarda bu özellikleri değiştirmek isteyebiliriz. Sınıfın miras aldığı özelliklerinin değiştirilmesine polymorphism denir. 

Bir örnek üzerinden inceleyecek olursak bir siteden çıkış yapılırken admin ve üye rollerinin farklı işlemler yapması olarak inceleyelim. Üyeler normal bir şekilde çıkış yaparken, admin çıkış yaptığında çerezleri temizlesin.

Bunun için override bir metot yazacağız. Bu sayede miras aldığımız sınıftaki metodu ezerek yeni bir işlem yaptıracağız.


Uye adlı sınıfımızda oluşturduğumuz metodu virtual olarak tanımladık. Bunu yapmamızın sebebi bu metodu değiştirecek olmamız. Miras aldığımız sınıfta ise bu metodu ezdik (override). Yani değiştirerek kullandık. Bu işleme method overriding adı verilir. Override edeceğimiz metoda virtual deyimini eklemek zorundayız.

Kodu çalıştırdığımızda aşağıdaki gibi bir çıktı alırız.





Yorumlar