Beyin Fırtınası - Nesne Tabanlı Programlama Bize Neler Katar?

Bence de polimorfizm yok orada. En azından şu anlık yok.

Hımm, sanırım o örnekte Java kullanılıyor. Ben pek Java bilmediğim için örnekte gösterilen sınıfların yapısı aşağıdaki yapıya benziyor gibi düşündüm.

class Animal:
    def talk(self):
        pass


class Cat(Animal):
    def talk(self):
        return "Meow!"


class Dog(Animal):
    def talk(self):
        return "Woof!"
1 Beğeni

Yapi aynen oyle fakat Python unityped (tek tipli) bir dil oldugu icin subtype–supertype iliskileri cok manali degil.

Burada inheritance var.

Java’dakinden farkli olarak Animal::talk tanimlanip asagida override edilmis.

Ama dedigim gibi, Animal bekleyen yer olmadigi icin Cat yollamak manasini yitiriyor. (Type hint’leri nasil calisiyor dersen muhtemelen subtype polymorphism vardir ama Python bisiy diyor mu, yoksa type checker’a birakiyor mu onu bile bilmiyorum.)

4 Beğeni

Polimorfizm, nesne yönelimli programlamanın 4 temel prensibinden birisidir. Kapsülleme, kalıtım, soyutlama ve çok biçimlilik.

6 Beğeni

Yukarıda paylaşılan kaynakları dikkatlice okuyayım, teşekkürler @coderistan

3 Beğeni