Bir Uygulama – Liskov İkame Prensibi | Python

Günümüzde kullanımı oldukça yaygın bir programlama yaklaşımı olan Nesne Yönelimli Programlamada başarılı bir yazılım ortaya çıkarabilmek için bazı temel tasarım prensipleri mevcuttur. Bu prensiplerden biri olan Liskov İkame Prensibine göre taban sınıflar alt sınıflarıyla değiştirilebilir nitelikte olmalıdır.

Barbara Liskov

 

Liskov İkame Prensibi, Barbara Liskov adında Amerikalı bir bilgisayar uzmanı tarafından geliştirilmiştir. Barbara Liskov Bilgisayar Bilimi Alanında Amerika Birleşik Devletleri’nde doktora sahibi olan ilk kadınlardan biridir.

 

 

Bu prensibi daha iyi anlamak için nesne yönelimli bir programlama dili olan Python ile uygulama yapmak yararlı olacaktır. Bu uygulamada Liskov İkame Prensibini ihlal eden iki örnek ile bu prensibi daha yakından tanımaya çalışacağız.

Sözdizimsel Uyumsuzluk

Sözdizimsel Uyumsuzluk, Liskov İkame Prensibini ihlal eden etmenlerden biridir. Burada vereceğimiz örnekte bir parametre isteyen taban sınıf metoduyla iki parametre isteyen alt sınıf metodu durumunu inceleyeceğiz.

İlk olarak HesapBakiyesi adlı taban sınıfımızı, ardından OdemeSayfasi adlı alt sınıfımızı oluşturuyoruz.Alt sınıfın taban sınıftan farkı alisveris metodunda harcama parametresine ek olarak kargo_ucreti parametresi de istemesidir. Bu durumda aşağıdaki döngüyü çalıştırdığımızda hata ile karşılaşacağız.Eğer alt sınıf alisveris metodunda kargo_ucreti parametresi için varsayılan bir değer kullansaydık böyle bir problemle karşılaşmazdık.

Alt Sınıf Girdi Koşullarının Güçlendirilmesi

Bu başlık altında herhangi bir değeri kabul eden taban sınıf metodu ile sadece belli şartları sağlayan değerleri kabul eden alt sınıf metodu durumunu inceleyeceğiz. Verdiğimiz ilk örnekten farklı olarak alt sınıf (OdemeSayfasi) alisveris metodumuzda taban sınıf (HesapBakiyesi) metodunda olduğu gibi yalnızca bir parametremiz (harcama) var.

Burada dikkat etmemiz gereken yer alt sınıf alisveris metodunda harcama değeri kırkın altındaysa alışveriş gerçekleşmiyor, dolayısıyla dijital cüzdanda bir değişiklik olmuyor.

Verdiğimiz bu iki örnek dışında Liskov İkame Prensibini ihlal eden başka etmenler de bulunmaktadır. Bunlardan bazıları alt sınıf çıktı koşullarının zayıflatılması veya alt sınıfta taban sınıfın aksine ilave istisnalar oluşturulmasıdır.
Özetle Liskov İkame Prensibine göre taban sınıfa ait nesnelerin çalıştığı yerde alt sınıfa ait nesneler de sorunsuz bir şekilde çalışabilmelidir.

 

Data Science Earth

Data Science Earth ekibi, üst düzey Veri Bilim çözümleri üretmek amacı ile toplanmış akademisyenler ve uzmanlardan oluşmaktadır. Öncelikli olarak veri bilincini geliştirmeyi ve küreselleşen rekabet ortamında verinin gücünün doğru kullanılmasını sağlamayı amaçlamaktadır.

Sponsor

QuestionPro 35 farklı soru seçim özelliği ile anket çalışmalarımıza güç katmaktadır.