Penggantian Method dan super()
Ganti method class induk dan panggil dengan super().
Penggantian Method dan super() adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.
Pendahuluan
Dasar-Dasar Penimpaan
class Greeter:
def greet(self): return 'Hello'
class FormalGreeter(Greeter):
def greet(self): return 'Good day'
print(FormalGreeter().greet())super() dalam Penimpaan
class Logger:
def log(self, msg): print(f'[LOG] {msg}')
class TimedLogger(Logger):
def log(self, msg):
import time
super().log(f'{time.time():.0f}: {msg}')
TimedLogger().log('test')super() dalam __init__
class Animal:
def __init__(self, name): self.name = name
class Cat(Animal):
def __init__(self, name, indoor):
super().__init__(name)
self.indoor = indoor
cat = Cat('Whiskers', True)
print(cat.name, cat.indoor)super() dengan Argumen
class A:
def greet(self): return 'A'
class B(A):
def greet(self): return super().greet() + 'B'
class C(B):
def greet(self): return super().greet() + 'C'
print(C().greet())Pewarisan Kooperatif
class A:
def __init__(self): print('A init')
class B(A):
def __init__(self): super().__init__(); print('B init')
class C(A):
def __init__(self): super().__init__(); print('C init')
class D(B, C):
def __init__(self): super().__init__(); print('D init')
D()Menimpa __str__
class Animal:
def __init__(self, name): self.name = name
def __str__(self): return f'Animal: {self.name}'
class Dog(Animal):
def __str__(self): return f'Dog: {self.name}'
print(Dog('Rex'))Pola Metode Templat
class DataProcessor:
def process(self):
data = self.load()
return self.transform(data)
def load(self): return [1,2,3]
def transform(self, d): return d
class Doubler(DataProcessor):
def transform(self, d): return [x*2 for x in d]
print(Doubler().process())Memanggil Metode Saudara
class A:
def hello(self): print('A')
class B(A):
def hello(self): super().hello(); print('B')
class C(A):
def hello(self): super().hello(); print('C')
class D(B,C):
def hello(self): super().hello(); print('D')
D().hello()__init_subclass__
class Plugin:
registry = []
def __init_subclass__(cls, **kw):
super().__init_subclass__(**kw)
Plugin.registry.append(cls)
class A(Plugin): pass
class B(Plugin): pass
print([c.__name__ for c in Plugin.registry])Kapan TIDAK Menimpa
# Good: only override what's needed
class Dog(Animal):
def speak(self): return 'Woof'
# No need to override __init__ if parent's is fine
print('override guidance')Pemeriksaan Singkat
Ringkasan
Lanjutkan
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Penggantian Method dan super()” gratis?
Ya — teks lengkap “Penggantian Method dan super()” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Penggantian Method dan super()”?
Ganti method class induk dan panggil dengan super(). Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Penggantian Method dan super()” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Pewarisan Tunggal
- Penggantian Method dan super()
- Pewarisan Ganda dan MRO
- Polimorfisme dan Duck Typing