0Pricing
Python Academy · Pelajaran

Pewarisan Tunggal

Buat class turunan yang mewarisi atribut dan method dari class induk.

Pewarisan Tunggal adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 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

Pewarisan memungkinkan kelas turunan menggunakan kembali dan memperluas perilaku kelas induk tanpa menduplikasi kode.

Mendefinisikan Kelas Turunan

class Dog(Animal): mewarisi semuanya dari Animal. Kelas turunan dapat menambahkan metode baru atau menimpa metode yang sudah ada.
class Animal:
    def __init__(self, name): self.name = name
    def speak(self): return '...'
class Dog(Animal):
    def speak(self): return 'Woof'
d = Dog('Rex')
print(d.name, d.speak())

Memanggil super().__init__

super().__init__(args) memanggil __init__ milik induk. Selalu panggil metode ini di kelas turunan jika induk memiliki logika penyiapan.
class Animal:
    def __init__(self, name): self.name = name
class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)
        self.breed = breed
d = Dog('Rex', 'Labrador')
print(d.name, d.breed)

Mewarisi Metode

Kelas turunan mewarisi semua metode dari induknya. Jika Anda tidak menimpanya, metode tersebut bekerja tanpa perubahan.
class Vehicle:
    def start(self): return 'starting'
class Car(Vehicle):
    pass
print(Car().start())

Menimpa Metode

Definisikan nama metode yang sama di kelas turunan untuk menggantikan versi milik induk. Versi kelas turunan yang akan dipanggil.
class Shape:
    def area(self): return 0
class Square(Shape):
    def __init__(self, s): self.s = s
    def area(self): return self.s**2
print(Square(4).area())

Memperluas Perilaku Induk

Panggil super().method() di dalam metode yang ditimpa untuk menjalankan versi induk terlebih dahulu, lalu menambahkan perilaku lainnya.
class Animal:
    def describe(self): return 'I am an animal'
class Dog(Animal):
    def describe(self): return super().describe() + ' and a dog'
print(Dog().describe())

isinstance() dan issubclass()

isinstance(obj, Parent) mengembalikan True untuk instans turunan juga. issubclass(Child, Parent) memeriksa hierarki kelas.
class Animal: pass
class Dog(Animal): pass
d = Dog()
print(isinstance(d, Animal))
print(issubclass(Dog, Animal))

Turunan Menambahkan Metode Baru

Kelas turunan dapat mendefinisikan metode baru sepenuhnya yang tidak dimiliki induknya.
class Animal:
    def __init__(self, name): self.name = name
class Dog(Animal):
    def fetch(self): return f'{self.name} fetches!'
print(Dog('Rex').fetch())

Atribut Terlindungi

Konvensi _name menandai "jangan akses dari luar kelas". Subkelas CAN menggunakannya.
class Animal:
    def __init__(self, name): self._name = name
    def name(self): return self._name
class Dog(Animal):
    def bark(self): return f'{self._name} barks'
print(Dog('Rex').bark())

Kelas Dasar Abstrak

from abc import ABC, abstractmethod memaksa subkelas untuk mengimplementasikan metode.
from abc import ABC, abstractmethod
class Shape(ABC):
    @abstractmethod
    def area(self): pass
class Circle(Shape):
    def __init__(self, r): self.r = r
    def area(self):
        import math
        return math.pi * self.r**2
print(Circle(3).area())

__bases__ dan __mro__

Dog.__bases__ menampilkan induk langsung. Dog.__mro__ menampilkan urutan resolusi metode secara lengkap.
class A: pass
class B(A): pass
class C(B): pass
print(C.__mro__)

Pemeriksaan Singkat

Apa yang dilakukan super().__init__() di dalam kelas turunan?

Ringkasan

Pewarisan: class Child(Parent). super() mengakses induk. Timpa metode untuk mengubah perilaku. isinstance() memeriksa hierarki. ABC menegakkan kontrak abstrak.

Lanjutkan

Kemajuan Anda luar biasa! Teruskan untuk menguasai konsep berikutnya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pewarisan Tunggal” gratis?

Ya — teks lengkap “Pewarisan Tunggal” 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 “Pewarisan Tunggal”?

Buat class turunan yang mewarisi atribut dan method dari class induk. 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 1 dari 4.

Berapa lama pelajaran “Pewarisan Tunggal” 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

  1. Pewarisan Tunggal
  2. Penggantian Method dan super()
  3. Pewarisan Ganda dan MRO
  4. Polimorfisme dan Duck Typing
← Kembali ke Python Academy