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.

“ 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.