COK BICIMCILIK(POLYMORPHISM)

Nesneye dayalı programlamanın felsefelerinden bir diğeri olan Çok biçimcilik,bir arabirimi referans alan bir den fazla metot felsefesini üstlenmektedir.Polymorphism Yunanca'da 'bir çok biçim ' anlamına gelmektedir.Bu anlam da nesneye dayalı programlamanın temel prensiplerinden biri olmuştur.

Çok biçimcilik prensibi ile bir arabirim oluşturulur(interface).Daha sonra bir takım ilişkili mantıksal sınıflar kendi tasarladığı algoritmaya veya nesne tiplerine göre bu arabirimi uygular(implement eder).Buradaki amaç,aynı isim altındaki bir olayın,ilişkili bir çok sınıf tarafından farklı şekillerde uygulanma gereksiniminden ortaya çıkmaktadır.Bu gereksinimin sebebi pek tabi ki basitlik içindir.Nitekim Nesneye Dayalı Programlama sınıflar arasındaki karmaşıklığı mümkün olduğunca azaltmak için ortaya atılmıştı.

Aşağıda bir sıralama arabirimini uygulayan 3 adet sıralama algoritma yapısı gösterilmektedir.

1)Kabarcık Sıralama
2)Ekleyerek Sıralama
3)Seçerek Sıralama
Yukarıya bakıldığında bir sıralama algoritmasının 3 farklı sıralama algoritmasına arabirim oluşturduğu görülmektedir.Genel bir arabirim ile tasarlanan bu sıralama arayüzü,mantıksal olarak hiyerarşiyi en iyi şekilde modelleyerek nesneye dayalı programlamayı en sade ve basit şekilde ortaya koyacaktır.

Tasarlanan arabirimin UML diyagramı aşağıdaki gibi olabilir.
SIRALAMA ARABIRIMI UML DIYAGRAMI
SIRALAMA
+sort():void
UML diyagramına göre,genel arabirim içerisinde tanımlı bir sort() metodu bulunmaktadır.Tasarımda örnek olarak kullanılan; sınıfları bu sort metodunu uygulayarak kendi özel algoritmalarını uygulayacaktır.Bu sayede 'bir arabirimden birden fazla metot' eldesi gerçekleşmiş olacaktır.

Kategori : Programlama Dilleri