Sınıf Mirası

Python'da Nesne Yönelimli Programlama

Alex Yarosh

Content Quality Analyst @ DataCamp

Kod Yeniden Kullanımı

Python'da Nesne Yönelimli Programlama

Kod Yeniden Kullanımı

 

1. Birisi Zaten Yaptı

 

  • Modüller sabit işlevsellik için harikadır
  • OOP, işlevselliği özelleştirmek için harikadır

çeşitli python paketlerinin logoları

Python'da Nesne Yönelimli Programlama

Kod Yeniden Kullanımı

 

1. Birisi Zaten Yaptı

 

2. DRY: Kendini Tekrarlama

çeşitli gui öğeleri

Python'da Nesne Yönelimli Programlama

Kod Yeniden Kullanımı

 

1. Birisi Zaten Yaptı

 

2. DRY: Kendini Tekrarlama

çeşitli gui öğelerini kullanmayın

Python'da Nesne Yönelimli Programlama

Miras

 

$$\Large{\text{Yeni sınıf işlevselliği = Eski sınıf işlevselliği + ekstra}}$$

Python'da Nesne Yönelimli Programlama

hesap sınıfı

Python'da Nesne Yönelimli Programlama

hesaptan türetilmiş tasarruf hesabı

Python'da Nesne Yönelimli Programlama

hesaptan türetilmiş iki sınıf

Python'da Nesne Yönelimli Programlama

kontrol hesabında değiştirilmiş yöntem

Python'da Nesne Yönelimli Programlama

Sınıf Mirasını Uygulama

class BankAccount:
    def __init__(self, balance):
       self.balance = balance

    def withdraw(self, amount):
        self.balance -= amount

# BankAccount'tan türetilmiş boş sınıf
class SavingsAccount(BankAccount):
    pass

class MyChild(MyParent):
   # Burada işlemler yapın
  • MyParent: işlevselliği genişletilen/türetilen sınıf
  • MyChild: işlevselliği devralacak ve daha fazlasını ekleyecek sınıf
Python'da Nesne Yönelimli Programlama

Çocuk Sınıfı Tüm Ebeveyn Verilerine Sahiptir

# BankAccount'tan devralınan yapıcı
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# BankAccount'tan devralınan özellik
savings_acct.balance
1000
# BankAccount'tan devralınan yöntem
savings_acct.withdraw(300)
Python'da Nesne Yönelimli Programlama

Miras: "is-a" İlişkisi

Bir SavingsAccount bir BankAccount'tır

(muhtemelen özel özelliklerle)

savings_acct = SavingsAccount(1000)
isinstance(savings_acct, SavingsAccount)
True
isinstance(savings_acct, BankAccount)
True

 

 

acct = BankAccount(500)
isinstance(acct,SavingsAccount)
False
isinstance(acct,BankAccount)
True
Python'da Nesne Yönelimli Programlama

Hadi Pratik Yapalım!

Python'da Nesne Yönelimli Programlama

Preparing Video For Download...