Pewarisan Kelas

Pemrograman Berorientasi Objek di Python

Alex Yarosh

Content Quality Analyst @ DataCamp

Penggunaan Kembali Kode

Pemrograman Berorientasi Objek di Python

Penggunaan Kembali Kode

 

1. Seseorang Sudah Melakukannya

 

  • Modul bagus untuk fungsi tetap
  • OOP bagus untuk menyesuaikan fungsi

logo beberapa paket python

Pemrograman Berorientasi Objek di Python

Penggunaan Kembali Kode

 

1. Seseorang Sudah Melakukannya

 

2. DRY: Jangan Ulangi Diri Anda

berbagai elemen gui

Pemrograman Berorientasi Objek di Python

Penggunaan Kembali Kode

 

1. Seseorang Sudah Melakukannya

 

2. DRY: Jangan Ulangi Diri Anda

jangan gunakan berbagai elemen gui

Pemrograman Berorientasi Objek di Python

Pewarisan

 

$$\Large{\text{Fungsi kelas baru = Fungsi kelas lama + tambahan}}$$

Pemrograman Berorientasi Objek di Python

kelas akun

Pemrograman Berorientasi Objek di Python

rekening tabungan diwarisi dari akun

Pemrograman Berorientasi Objek di Python

dua kelas diwarisi dari akun

Pemrograman Berorientasi Objek di Python

metode yang dimodifikasi dalam rekening giro

Pemrograman Berorientasi Objek di Python

Menerapkan Pewarisan Kelas

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

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

# Kelas kosong diwarisi dari BankAccount
class SavingsAccount(BankAccount):
    pass

class MyChild(MyParent):
   # Lakukan sesuatu di sini
  • MyParent: kelas yang fungsinya diperluas/diwarisi
  • MyChild: kelas yang akan mewarisi fungsi dan menambahkan lebih banyak
Pemrograman Berorientasi Objek di Python

Kelas Anak Memiliki Semua Data Induk

# Konstruktor diwarisi dari BankAccount
savings_acct = SavingsAccount(1000)
type(savings_acct)
__main__.SavingsAccount
# Atribut diwarisi dari BankAccount
savings_acct.balance
1000
# Metode diwarisi dari BankAccount
savings_acct.withdraw(300)
Pemrograman Berorientasi Objek di Python

Pewarisan: Hubungan "is-a"

Sebuah SavingsAccount adalah BankAccount

(mungkin dengan fitur khusus)

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
Pemrograman Berorientasi Objek di Python

Mari Berlatih!

Pemrograman Berorientasi Objek di Python

Preparing Video For Download...