#Polymorphism
class Apple():
def __init__(self,name):
self.name = name
def information(self):
return self.name + " 100 calories"
class Banana():
def __init__(self,name):
self.name = name
def information(self):
return self.name + " 200 calories"
banana = Banana("banana")
apple = Apple("apple")
print(banana.information())
print(apple.information())
fruit_list = [banana,apple] # Polymorphism yapabilmek için önce bu şekilde bir obje oluşturduk
for fruit in fruit_list:
print(fruit.information()) # Hem class Apple hem de class Banana sınıfları içinde aynı isimde information adında metod olduğu için bunları iki farklı instance ile
# aynı metod ile çağırabiliyoruz işte buna Polymorphism deniyor.
# bir başka deyişle farklı sınıflarda aynı metod bile olsa farklı sınıfların instance'ında o metodu o sınıfa aitmiş gibi çağırabiliyoruz.
def get_info(fruit):
print(fruit.information())
get_info(banana)
get_info(apple)