Kelas abstrak adalah cetak biru untuk kelas terkait. Itu tidak bisa dipakai tetapi hanya dapat diakses melalui warisan. Subkelas yang mewarisi kelas abstrak diperlukan untuk mengimplementasikan metode abstraknya. Jika tidak, kompiler akan menandai kesalahan.

Metode abstrak adalah metode tanpa implementasi. Kelas abstrak dapat memiliki metode abstrak atau metode konkret (normal).

Python tidak secara langsung mendukung metode abstrak, tetapi Anda dapat mengaksesnya melalui abc (kelas dasar abstrak) modul.

Menggunakan Modul abc dengan Python

Untuk mendefinisikan kelas abstrak dengan Python, Anda perlu impor modul abcnya.

Lihat contoh di bawah ini:

dari abc impor ABC
kelas AbstractClassName (ABC):
lulus

Perhatikan kata kuncinya lulus. Kata kunci ini digunakan untuk menggantikan kode kosong. Meninggalkannya akan memberikan kesalahan kompilasi.

Terkait: Akankah Julia Membuat Tawaran untuk Tahta Python?

Definisi kelas, definisi metode, loop, dan jika pernyataan mengharapkan implementasi kode. Jadi, membiarkannya keluar memberikan kesalahan kompilasi. Untuk menghindari ini, gunakan

instagram viewer
lulus untuk mengganti kode kosong.

Untuk mendefinisikan metode abstrak dengan Python, gunakan @abstractmethod penghias:

dari abc impor ABC, metode abstrak
kelas AbstractClassName (ABC):
@abstractmethod
def abstractMethod (sendiri):
lulus

Pada titik ini, sebaiknya disebutkan bahwa—tidak seperti Java—metode abstrak dalam Python dapat memiliki implementasi.. Implementasi ini dapat diakses dalam metode override menggunakan super() metode.

impor abc
kelas AbstractClass (ABC):
def __init__(diri, nilai):
diri.nilai = nilai
super().__init__()
@abc.abstractmethod
def some_action (diri sendiri):
print("Ini adalah implementasi induk.")
kelas MySubclass (AbstractClassExample):
def some_action (diri sendiri):
super().some_action()
print("Ini adalah implementasi subclass. ")
x = Subkelas Saya()
x.some_action()

Sangat menarik untuk dicatat bahwa Anda dapat mendefinisikan konstruktor di kelas abstrak.

Pada baris 9, Anda dapat mengamati bahwa @abc.abstractmethod telah digunakan sebagai dekorator metode abstrak. Ini adalah cara lain untuk melakukannya selain bentuk sebelumnya. Perhatikan juga bahwa baris 1 lebih pendek (impor abc) daripada impor baris 1 sebelumnya yang Anda gunakan.

Ini semua masalah pilihan. Padahal, banyak yang mungkin menganggap metode kedua lebih pendek.

Penanganan Pengecualian dengan Python

Perhatikan bahwa tidak ada cara untuk menangkap kesalahan dalam contoh kode yang diberikan di atas. Bug lebih sering terjadi daripada tidak, dan memiliki cara yang andal untuk mendapatkannya bisa menjadi pengubah permainan.

Peristiwa yang mengganggu aliran program normal ini disebut "pengecualian", dan mengelolanya disebut "penanganan pengecualian". Selanjutnya pada daftar bacaan Python Anda harus penanganan pengecualian.

MembagikanMenciakSurel
Cara Menangani Pengecualian dengan Python

Tutupi basis pengkodean Anda dengan pengecualian Python.

Baca Selanjutnya

Topik-topik yang berkaitan
  • Pemrograman
  • Pemrograman
  • Python
  • Bahasa pemrograman
Tentang Penulis
Jerome Davidson (24 Artikel Diterbitkan)

Jerome adalah Staf Penulis di MakeUseOf. Dia meliput artikel tentang Pemrograman dan Linux. Dia juga penggemar kripto dan selalu mengawasi industri kripto.

More From Jerome Davidson

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan