Metode Overriding dengan Python: Apa itu, Bagaimana melakukannya?

Diterbitkan: 2021-09-28

Python adalah bahasa tujuan umum tingkat tinggi yang harus dipelajari oleh penggemar pemrograman komputer. Mirip dengan bahasa komputer lain yang banyak digunakan seperti JAVA, C++, Golang, Ruby, dll. Python juga merupakan bahasa pemrograman berorientasi objek di mana pengkodean bergantung pada kelas dan objek. Konsep ini memungkinkan pengembang untuk menyusun kode sederhana yang dapat digunakan kembali yang kemudian menunjukkan objek individual. Ada beberapa fitur berguna yang ditawarkan bahasa OOP, salah satunya adalah Method Overriding.

Pada artikel ini, kita akan memahami konsep pewarisan untuk mengeksplorasi metode overriding dengan Python. Mari kita mulai dengan memahami apa itu kelas.

Daftar isi

Apa itu Kelas?

Kelas adalah fitur atau instance dalam paradigma pemrograman Berorientasi Objek. Ini adalah templat pengkodean program yang diperluas di dalam suatu program. Kelas membantu pemrogram memasukkan data awal setiap objek (array, string, variabel, dll.) pada saat pembuatan. Mereka juga memungkinkan kita untuk mendefinisikan karakteristik kelas dan menentukan bagaimana mereka akan memproses data atau memberikan masukan. Ada sub-kelas atau kelas anak di bawah kelas induk atau superkelas yang ditentukan dalam suatu program.

Apa itu Warisan? Apa manfaatnya?

Warisan dalam pemrograman berorientasi objek adalah properti yang memungkinkan fitur kelas diwarisi ke kelas atau subkelas lain. Ini membantu mencegah redundansi data, mengkompilasi program dengan lebih baik, dan membatasi ruang lingkup membuat kesalahan.

Kemampuan kelas untuk memperoleh atau mewarisi fitur dari kelas lain dikenal sebagai pewarisan. Kelas yang karakteristik dan propertinya digunakan untuk menurunkan subkelas disebut kelas Induk.

Berikut adalah manfaat dari warisan:

  • Warisan memungkinkan pengguna untuk mewakili hubungan waktu nyata dengan baik.
  • Ini memungkinkan kode untuk digunakan kembali. Ini juga memungkinkan pemrogram untuk memberikan lebih banyak karakteristik ke kelas.
  • Ini memungkinkan untuk transisi. Misalkan kelas Q menurunkan fitur dari kelas W, maka sub-kelas Q akan secara otomatis mewarisi dari kelas W.

Jenis Warisan

Ada tiga jenis warisan yaitu sebagai berikut;

1. Warisan Tunggal

Dalam pewarisan tunggal, kelas turunan dapat mewarisi fitur dari kelas induk tunggal. Ini memungkinkan kode untuk digunakan kembali dan juga penambahan fitur baru.

2. Beberapa Warisan

Ini mengacu pada mentransfer karakteristik lebih dari satu kelas induk ke subkelas. Di sini, fitur-fitur dari kelas dasar diwarisi ke dalam sub-kelas secara otomatis.

3. Warisan bertingkat

Ketika fitur dari kelas induk dan sub-kelas selanjutnya diwarisi ke kelas turunan lain, itu disebut pewarisan bertingkat.

Apa itu Metode Overriding dengan Python?

Metode overriding adalah fitur bahasa pemrograman berorientasi objek di mana subclass atau kelas anak dapat menyediakan program dengan karakteristik tertentu atau proses implementasi tertentu dari data yang disediakan yang sudah didefinisikan di kelas induk atau superclass.

Ketika pengembalian, parameter, atau nama yang sama diinput di subkelas seperti di kelas induk, maka metode implementasi di subkelas menimpa metode yang disebutkan di kelas induk. Ini dikenal sebagai metode overriding.

Eksekusinya tergantung pada data yang digunakan untuk memanggil metode dan bukan data referensi yang sudah disediakan di kelas induk. Jika sebuah objek dari kelas induk digunakan untuk memanggil metode implementasi yang khusus untuk suatu program, maka versi metode yang ditulis dalam kelas induk akan dipanggil. Di sisi lain, jika objek dari subkelas digunakan untuk memanggil metode, eksekusi akan sesuai dengan fitur yang disebutkan dalam subkelas. Jika Anda seorang pemula dan ingin mendapatkan keahlian dalam ilmu data, lihat kursus ilmu data kami.

Fitur Metode Overriding

Bagian ini akan mengeksplorasi fitur-fitur penting yang ditawarkan oleh metode override di python:

  • Metode overriding memungkinkan penggunaan fungsi dan metode dalam Python yang memiliki nama atau tanda tangan yang sama.
  • Metode overloading adalah contoh polimorfisme runtime.
  • Dalam metode overriding, penggunaan fitur pewarisan selalu diperlukan.
  • Metode overloading dilakukan antara kelas induk dan kelas anak.
  • Ini digunakan untuk mengubah perilaku dan implementasi metode yang ada.
  • Selalu ada kebutuhan untuk minimal dua kelas untuk metode overriding.

Memahami Metode Overriding: Warisan Berganda dan Bertingkat

Warisan berganda dan bertingkat adalah dua jenis warisan yang ditawarkan oleh sebagian besar bahasa pemrograman berorientasi objek. Di bagian ini, kita akan melihat bagaimana metode overriding digunakan dalam berbagai pewarisan bertingkat:

1. Banyak Warisan

Dalam pewarisan kelas atau objek semacam ini, subkelas mewarisi fitur dan karakteristik dari beberapa kelas atau basis induk. Misalnya, ada tiga kelas induk yang berbeda- kelas.1, kelas.2, kelas.3, dan ada kelas.a, yang merupakan kelas anak yang menjalankan fitur dari beberapa pewarisan. Class.a akan berisi fitur yang diwarisi dari ketiga kelas dasar.

Berikut adalah contoh programnya:

# Mendefinisikan kelas induk 1

kelas Induk1():

# Metode pertunjukan orang tua

def menunjukkan (diri):

print("Di Dalam Induk1")

# Mendefinisikan Kelas Induk 2

kelas Induk2():

# Metode pertunjukan orang tua

tampilan def (diri):

print("Di Dalam Induk2")

# Mendefinisikan kelas anak

kelas Anak(Orangtua1, Orang Tua2):

# Metode pertunjukan anak-anak

def menunjukkan (diri):

print("Di Dalam Anak")

# Kode pengemudi

obj = Anak()

obj.show()

obj.display()

Keluaran:

Di dalam Anak

Di dalam Induk2

2. Warisan Bertingkat

Dalam pewarisan kelas atau objek semacam ini, subkelas secara langsung diwarisi dari kelas dasar, yang sudah memiliki karakteristik kelas induk. Ini pada dasarnya seperti hubungan ayah-anak atau kakek-cucu. Fitur dari subclass unik untuk kelas induknya. Misalnya, ada kelas induk bernama class.Q, dan subclass dibentuk dalam ekstensi dari class.Q. Di sini, sub-kelas dapat bertindak sebagai kelas dasar untuk sub-kelas lain.

Berikut adalah contoh programnya:

kelas Induk():

tampilan def (diri):

print("Di Dalam Induk")

kelas Anak (Orang Tua):

# Metode pertunjukan anak-anak

def menunjukkan (diri):

print("Di Dalam Anak")

kelas Cucu(Anak):

# Metode pertunjukan anak-anak

def menunjukkan (diri):

print("Di Dalam Cucu")

# Kode pengemudi

g = Cucu()

g.tampilkan()

g.display()

keluaran :

Di dalam Cucu

Di dalam Induk

Pemanggilan Metode Kelas Dasar dalam Metode yang Ditimpa

Ada metode di mana metode kelas induk dapat dipanggil di antara metode yang diganti. Itu dapat dilakukan dengan menggunakan proses berikut:

  • Menggunakan nama kelas

menulis metode nama kelas dalam metode yang diganti di subkelas dapat memanggil metode yang disediakan di kelas induk.

  • Menggunakan fungsi super()

bahasa pemrograman Python menawarkan fungsi yang disebut super(), yang digunakan untuk merujuk ke kelas induk khususnya.

Kesimpulan

Metode overriding adalah salah satu fitur paling penting dari bahasa Python. Properti ini banyak digunakan dalam pemrograman aplikasi ilmu data dan memungkinkan analisis data yang ringkas dan efisien. Metode overriding juga membuat kompilasi kode dan pengecekan ulang menjadi lebih mudah. Ada beberapa prasyarat untuk menggunakan fitur ini: memahami konsep dasar kelas dan pewarisan.

Jika Anda ingin mempelajari secara mendalam tentang penggantian metode dengan Python, kami sarankan Anda mengambil Master of Science dalam Ilmu Data selama 18 bulan . upGrad menawarkan kursus ini dari IIIT Bangalore dan Liverpool John Moore's University. Kursus ini mengajarkan Anda keterampilan seperti Statistik, Analisis Prediktif menggunakan Python, Pembelajaran Mesin, Visualisasi Data, Analisis Data Besar, dan banyak lagi. Siswa dengan pengetahuan yang kuat tentang konsep Python memiliki posisi yang baik untuk menangani mata pelajaran seperti Pembelajaran Mendalam, Pemrosesan Bahasa Alami, Analisis Bisnis, dan Rekayasa Data.

Hubungi kami hari ini untuk memulai perjalanan belajar Anda!

Bedakan antara overriding dan overloading.

Perbedaan utama antara overriding dan overloading adalah overriding terjadi antara metode yang sama atau tanda tangan yang sama, sedangkan overloading terjadi antara metode kelas yang sama.

1. Metode overloading mencontohkan polimorfisme waktu kompilasi, sedangkan overriding metode mencontohkan polimorfisme runtime.
2. Metode overloading tidak dapat dieksekusi dengan Python, sedangkan mengeksekusi metode overriding dimungkinkan dalam kondisi tertentu.

Apa saja fitur dari Metode override?

Berikut adalah fitur dari metode override:

1. Ini mencontohkan polimorfisme runtime.
2. Ini membuat hubungan antara kelas induk dan kelas anak.
3. Karena menghubungkan setidaknya satu kelas, Kita perlu menggunakan fitur pewarisan.
4. Metode override membantu Anda menggunakan satu nama untuk lebih dari satu fungsi.

Kami menggunakan metode overriding untuk mengimplementasikan metode kelas induk di kelas turunan.

Apa saja jenis-jenis warisan? Apakah mungkin untuk mengganti metode pribadi dengan Python?

Terutama, metode overriding menggunakan multilevel dan multiple inheritance.

Dalam pewarisan Multilevel, subclass diwarisi dari kelas dasar yang terdiri dari karakteristik kelas induk. Tetapi dalam kasus pewarisan berganda, subkelas menunjukkan karakteristik lebih dari satu atau lebih kelas atau basis induk.

Pengesampingan metode pribadi tidak dapat terjadi di Java, tetapi dapat dilakukan dengan Python menggunakan proses yang dikenal sebagai 'nama mangling'.