Warisan dalam Python | Warisan Python [Dengan Contoh]

Diterbitkan: 2020-12-14

Python adalah salah satu bahasa pemrograman yang paling populer. Meskipun transisi penuh dengan pasang surut dari versi Python 2 ke Python 3, bahasa pemrograman berorientasi objek telah mengalami lonjakan popularitas yang besar.

Jika Anda berencana untuk berkarir sebagai pengembang Python, Anda pasti akan mendapatkan pembayaran yang lebih tinggi. Karena gaji rata -rata untuk pengembang Python adalah sekitar $ 119.082 per tahun. Tapi, sebelum Anda melanjutkan dengan program pembelajaran Python, berikut adalah sesuatu yang harus Anda ketahui terlebih dahulu- Warisan dalam Python. Lihat sertifikasi ilmu data kami jika Anda ingin mendapatkan keahlian dalam python dan alat lainnya.

Mari kita mulai dengan apa sebenarnya pewarisan dalam Python?

Daftar isi

Apa itu warisan dengan Python?

Sama seperti hubungan orangtua-anak, pewarisan bekerja pada kelas turunan relatif terhadap kelas dasar. Setiap kelas "Derived" mewarisi dari kelas "Base". Warisan diwakili dalam UML atau Bahasa Pemodelan Terpadu. Ini adalah bahasa pemodelan standar yang mencakup serangkaian diagram terintegrasi untuk membantu pengembang menentukan, menyusun, dan mendokumentasikan elemen sistem perangkat lunak.

Hubungan pewarisan mendefinisikan kelas yang mewarisi dari kelas lain sebagai kelas turunan, subkelas, atau subtipe. Kelas dasar tetap menjadi sumber dari mana subkelas mewarisi. Misalnya, Anda memiliki kelas Dasar "Hewan", dan "Singa" adalah kelas Turunan. Warisan akan Singa adalah Hewan.

Jadi, pertanyaannya adalah, apa yang diwarisi kelas "Singa" dari "Hewan"?

Kelas "Singa" mewarisi

  • Antarmuka
  • Eksekusi

Catatan: Anda dapat mengganti objek Kelas Turunan dengan objek Kelas Dasar dalam aplikasi yang dikenal sebagai prinsip substitusi Liskov . Ini menunjukkan bahwa jika sebuah program komputer memiliki objek P sebagai subtipe dari Q, Anda dapat dengan mudah mengganti P dengan Q tanpa mengubah propertinya.

Baca Juga: Gaji Pengembang Python di India

Keuntungan Warisan di Python

  • Warisan dalam Python membantu pengembang untuk menggunakan kembali objek.
  • Setiap kali kelas mewarisi kelas dasar, ia mendapat akses ke fungsionalitas objek induk.
  • Dapat digunakan kembali karena pewarisan juga dapat diandalkan karena kelas dasar sudah diuji.
  • Waktu dan biaya pengembangan rendah
  • Standarisasi antarmuka antar kelas menjadi mudah.
  • Mengurangi redundansi kode dan membantu meningkatkan ekstensibilitas
  • Pembuatan perpustakaan kelas menjadi mudah.

Jenis Warisan dalam Python

Warisan Tunggal

Kita telah melihat apa itu pewarisan tunggal- pewarisan kelas "Berasal" dari kelas "Dasar". Mari kita memahaminya melalui sebuah contoh,

kelas Negara:

def ShowCountry(sendiri):

print("Ini Spanyol");

kelas Negara (Negara):

def ShowState (diri):

print("Ini Negara");

st =Negara();

st.ShowCountry();

st.ShowState();

Warisan Multi-Level

Python terbuat dari beberapa objek, dan dengan pewarisan multi-level, ada kemungkinan tak terbatas untuk menggunakan kembali fungsionalitas kelas. Warisan multi-level didokumentasikan setiap kali kelas turunan mewarisi kelas turunan lainnya. Tidak ada batasan jumlah kelas turunan yang dapat mewarisi fungsionalitas, dan itulah sebabnya pewarisan bertingkat membantu meningkatkan kegunaan kembali dalam Python.

Berikut adalah contoh pewarisan bertingkat

kelas Hewan:

def berbicara (diri):

print("Binatang Berbicara")

#Anak kelas Anjing mewarisi Hewan kelas dasar

kelas Anjing (Hewan):

def kulit (diri):

print("anjing menggonggong")

#Anak kelas Dogchild mewarisi Anjing kelas anak lain

kelas DogChild(Anjing):

def makan (sendiri):

print("Makan roti...")

d = Anak Anjing()

d.kulit()

d.bicara()

d.makan()

Banyak Warisan

Python memungkinkan pengembang untuk mewarisi banyak fungsi dan properti dari kelas dasar yang berbeda ke dalam satu kelas turunan. Ini sebagian besar merupakan fitur hebat karena memungkinkan Anda untuk mewarisi banyak dependensi tanpa alat atau pengkodean yang ekstensif.

Mari kita lihat contoh untuk multiple inheritance.

kelas Perhitungan1:

def Penjumlahan(diri,a,b):

kembali a+b;

kelas Perhitungan2:

def Perkalian(diri,a,b):

kembali a*b;

kelas Turunan(Perhitungan1,Perhitungan2):

def Divide(diri,a,b):

kembali a/b;

d = Turunan()

cetak(d.Penjumlahan(10,20))

cetak(d.Perkalian(10,20))

cetak(d.Bagi(10,20))

Lihat: Cara Mengonversi Ucapan ke Teks dengan Python

Bagaimana cara mengidentifikasi Kelas Turunan?

Python hadir dengan fungsi issubclass() bawaan yang membantu pengembang memeriksa apakah suatu kelas adalah turunan atau kelas dasar. Setelah Anda menjalankan fungsi ini, ia kembali dengan hasil "True" untuk subclass atau kelas Derived, sedangkan False untuk kelas Base.

Pengembang dapat memeriksa kelas melalui contoh ini.

kelas usia saya:

umur = 36

kelas myObj(umurku):

nama = “Yohanes”

umur = umur saya

x = issubclass(myObj, myAge)

Bagaimana cara membuat hierarki kelas dengan Python?

Warisan dalam Python membantu membuat hierarki kelas. Semua kelas relatif akan berbagi antarmuka yang sama untuk berkomunikasi satu sama lain. Sebuah kelas Base mendefinisikan antarmuka. Kelas turunan dapat memberikan spesialisasi antarmuka yang spesifik. Di sini, kami mengeksplorasi model SDM untuk mendemonstrasikan hierarki kelas.

Sistem SDM akan memproses penggajian untuk pekerja perusahaan yang berbeda; setiap pekerja diidentifikasi melalui ID dan memiliki posisi penggajian yang berbeda untuk dihitung.

Pertama-tama mari kita buat kelas penggajian sebagai objek "Dasar".

# Dalam hr.py

sistem penggajian kelas:

def count_payroll(mandiri, pekerja):

print('Menghitung Gaji')

print('===================')

untuk pekerja di pekerja:

print(f'Gaji untuk: {worker.id} – {worker.name}')

print(f'- Periksa jumlah: {worker.calculate_payroll()}')

mencetak(")

PayrollSystem menjalankan metode .calculate_payroll () yang mengumpulkan informasi pekerja, mencetak id, nama, dan memeriksa jumlah gaji . Sekarang, Anda menjalankan pekerja kelas dasar yang menangani antarmuka standar untuk setiap jenis pekerja:

# Dalam hr.py

pekerja kelas:

def __init__(diri, id, nama):

self.id = id

diri.nama = nama

Membuat kelas dasar Pekerja untuk semua jenis pekerja di perusahaan membuat hierarki mudah untuk sistem SDM. Setiap pekerja diberi nama dan id. Sistem SDM mengharuskan pekerja untuk memberikan data mengenai gaji mingguan mereka melalui antarmuka .calculate_payroll(). Eksekusi antarmuka ini mungkin berbeda sesuai dengan jenis pekerja.

Harus Dibaca: Pertanyaan Wawancara Python

Kesimpulan

Di sini, kita belajar membuat kelas Python yang berbeda, membangun hubungan di antara mereka, dan bahkan mengatur hierarki kelas. Namun, pewarisan dalam Python tidak terbatas pada fungsi yang disebutkan di sini.

Sertifikasi Tingkat Lanjut dalam Pembelajaran Mesin dan AI : Madras IIT, salah satu lembaga pendidikan terbaik di India, telah bermitra dengan upGrad untuk membuat kursus lanjutan tentang Pembelajaran Mesin bagi individu untuk memiliki pengetahuan lengkap tentang Pembelajaran Mesin dengan kursus ini.

Jika Anda penasaran untuk belajar tentang ilmu data, lihat Program PG Eksekutif IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri, 1 -on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.

Mengapa pewarisan penting dalam Python?

Warisan mengacu pada proses meneruskan properti dari kelas induk ke kelas anak. Ini adalah konsep pemrograman berorientasi objek (OOP) dan penting dalam Python. Itu karena pewarisan menyediakan penggunaan kembali kode, yang berarti bahwa alih-alih menulis kode yang sama berulang-ulang, kita dapat mewarisi atribut yang kita perlukan di kelas anak. Ini juga mudah dipahami dan diterapkan karena menggambarkan hubungan dunia nyata antara kelas induk dan anak. Ini memiliki sifat transitif. Karena semua kelas anak mewarisi properti dari induknya, setiap subkelas juga akan menggunakan fungsionalitas kelas induk.

Apakah warisan diperlukan saat belajar Python?

Ya, mempelajari pewarisan diperlukan saat belajar Python. Aplikasi python besar-besaran memerlukan peningkatan jumlah programmer python di pasar saat ini. Lonjakan ini telah menyebabkan peningkatan jumlah orang yang belajar Python. Bahasa pemrograman Python kaya akan pengertian seperti pewarisan. Salah satu konsep penting dalam bahasa pemrograman berorientasi objek ini adalah pewarisan. Karena pewarisan memungkinkan penggunaan kembali kode, keterbacaan, dan transisi properti, mempelajarinya sambil mempelajari Python sangat penting. Warisan membantu dalam menciptakan kode yang akurat dan efisien.

Di Python, jenis warisan apa yang tidak didukung?

Python memungkinkan semua bentuk pewarisan, termasuk pewarisan berganda, tidak seperti bahasa pemrograman berorientasi objek lainnya. Dimungkinkan untuk membangun kelas baru dari yang sudah ada sebelumnya menggunakan konsep pewarisan. Ini memfasilitasi penggunaan kembali kode. Metode yang ditentukan di kelas induk juga digunakan di kelas anak. Sementara C++ juga memungkinkan pewarisan semacam ini, ia tidak memiliki metodologi Python yang canggih dan dirancang dengan baik. Python bahkan menawarkan pewarisan Hybrid, yang memungkinkan kita untuk mengimplementasikan banyak jenis pewarisan dalam satu bagian kode. Karena penggunaan kembali kode adalah kekuatan pewarisan, ini sangat membantu dalam berbagai aplikasi saat bekerja dengan Python.