Press "Enter" to skip to content

Çok Seviyeli Kalıtım Multi Level Inheritance

Yaşar SAFALI 1

Çok Seviyeli Kalıtım Multi Level Inheritance

Python yazı serimizin OOP bölümünde yer alan yazımızda kalıtımdan bahsetmiştik.Python Kalıtım yazımızı okumadıysanız bu adresten okuyabilirsiniz.Kalıtımı anlatrken bir sınıfın başka bir sınıftan özellikleri ve fonksiyonları miras alması demiştik.Bir miras alan alt sınıf bir de miras alınan temel sınıf mevcuttu.Yazımızda örnek verirken bir çocuğun anne veya babadan miras alması gibi demiştik.Çok seviyeli kalıtım ise anne veya babanında dededen miras alması gibi düşünülebilir.Çok Seviyeli Kalıtım Multi Level Inheritance

Bir örnek daha verecek olursak ,Kadın bir insandır.İnsan da bir canlıdır.

Şimdi söylediklerimizi kodlamaya dökelim.

class Canlı:

    def __init__(self):
        print("Canlılar Sınıfı")
    def fonksiyon1(self):
        pass
    def fonksiyon2(self):
        pass

class Insan(Canlı):
    def __init__(self):
        super().__init__()
        print("İnsan bir Canlıdır")
    def fonksiyon3(self):
        pass

class Kadın(Insan):
    def __init__(self):
        super().__init__()
        print("Kadınlar insanlara ait özelliklere sahiptir")

Tanımlanan en temel sınıf canlıdır.İnsan sınıfı canlıdan,kadın sınıfı ise insandan kalıtım almıştır.Bu kalıtım sayesinde insan sınıfı canlılar sınıfının fonksiyonlarını,kadın sınıfı ise insan sınıfının bütün fonksiyonlarını miras almıştır.

Şimdi  her sınıfın sahip olduğu fonksiyonları listeleyelim.

liste=dir(Canlı)
for i in liste:
    if not i.startswith("_"):
        print(i)

Output:

fonksiyon1
fonksiyon2

Canlı sınıfında tanımlanan iki fonksiyonda mevcut.

liste=dir(Insan)
for i in liste:
    if not i.startswith("_"):
        print(i)

Output:

fonksiyon1
fonksiyon2
fonksiyon3

İnsan sınıfı Canlı sınıfından kalıtım aldığı için Canlı sınıfının iki fonksiyonu artık insan sınıfınında fonksiyonu olmuştur.

liste=dir(Kadın)

for i in liste:
    if not i.startswith("_"):
        print(i)

Output:

fonksiyon1
fonksiyon2
fonksiyon3

Dikkat edilirse hiç bir fonksiyonu olmayan Kadın sınıfı insan sınıfından miras alarak 3 fonksiyona sahip olmuştur.Kadın Sınıfı insan sınıfı sayesinde canlı sınıfından da miras almış oldu.Bu yazımızda çok seviyeli kalıtımın temel çalışma mantığını anlatmaya çalıştık.Unutlmaması gereken husus kalıtım için geçerli olan bütün kurallar aynen geçerlidir.

Şimdi Kadın sınıfından bir nesne üretelim ve kodlarımızın çıktısına bakalım.

class Canlı:

    def __init__(self):
        print("Canlılar Sınıfı")
    def fonksiyon1(self):
        pass
    def fonksiyon2(self):
        pass

class Insan(Canlı):
    def __init__(self):
        super().__init__()
        print("İnsan bir Canlıdır")
    def fonksiyon3(self):
        pass

class Kadın(Insan):
    def __init__(self):
        super().__init__()
        print("Kadınlar insanlara ait özelliklere sahiptir")


kadın=Kadın()

Output:

Canlılar Sınıfı
İnsan bir Canlıdır
Kadınlar insanlara ait özelliklere sahiptir

Görüldüğü gibi kadın sınıfı hiyerarşik olarak üst sınıflardan kalıtım almıştır.

Çok seviyeli Kalıtım hakkında anlatacaklarımız bu kadar bir sonraki yazımızda görüşmek dileğiyle.

afyon escort

aksaray escort

alanya escort

  1. Mutlu Tokat Mutlu Tokat

    İlk kod bloğunda neden super().__init__() ile süperclass __init__ methodunu çağırıyoruz? olmasa da olur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

bakırköy escort afyon escort afyon escort ağrı escort ardahan escort artvin escort aksaray escort amasya escort antalya escort alanya escort aydın escort balıkesir escort bandırma escort bayburt escort bartın escort batman escort bitlis escort bingöl escort bodrum escort bolu escort bursa escort çanakkale escort çerkezköy escort çorum escort düzce escort çeşme escort diyarbakır escort edirne escort erzincan escort erzurum escort erzurum escort elazığ escort eskişehir escort gaziantep escort giresun escort gümüşhane escort hatay escort hatay escort hakkari escort içel escort ığdır escort ısparta escort kars escort maraş escort kayseri escort karabük escort kıbrıs escort kırıkkale escort kırklareli escort kilis escort kırşehir escort konya escort kuşadası escort kütahya escort manisa escort manavgat escort marmaris escort mardin escort malatya escort mersin escort muğla escort muş escort nevşehir escort niğde escort ordu escort osmaniye escort rize escort samsun escort sakarya escort seyhan escort siirt escort sivas escort sinop escort şırnak escort şırnak escort tekirdağ escort trabzon escort tokat escort tunceli escort urfa escort uşak escort van escort yalova escort yozgat escort zonguldak escort izmit escort izmit escort izmit escort istanbul escort avcılar escort esenyurt escort mecidiyeköy escort şişli escort beylikdüzü escort halkalı escort kadıköy escort pendik escort istanbul escort kurtköy escort pendik escort beylikdüzü escort esenyurt escort escort bayan istanbul escort bayan escort escort bayan