Python

Python super() fungsi

Python super() fungsi
Skrip Python dapat melakukan pemrograman terstruktur dan Pemrograman Berorientasi Objek (OOP). Super () adalah fungsi Python bawaan dari OOP. Pengetahuan dasar OOP lebih disukai untuk memahami tujuan dan penggunaan super() metode. Salah satu fitur penting OOP adalah Warisan In. Kelas baru dapat dibuat dengan mewarisi fitur kelas lain, dan itu disebut Warisan. Di sini, kelas baru disebut subkelas atau kelas anak, dan kelas lain disebut superclass atau kelas induk. super() fungsi digunakan di kelas anak untuk merujuk ke kelas induk dan mengakses semua variabel dan metode kelas induk. Fungsi ini membuat Warisan lebih mudah dikelola. Bagaimana fungsi ini dapat digunakan dengan Python telah ditunjukkan dalam tutorial ini.

Contoh-1: Penggunaan fungsi super() dalam satu Warisan

Ketika kelas anak dibuat dengan mewarisi kelas induk, maka itu disebut Warisan tunggal. Penggunaan dari super() fungsi dalam Warisan tunggal telah ditunjukkan dalam skrip berikut:. Book adalah kelas induk di sini yang berisi metode konstruktor untuk menginisialisasi data, jenis buku() cara mencetak jenis buku, dan diskon() metode untuk menampilkan penawaran diskon tersedia atau tidak. Eng_book adalah kelas anak di sini yang berisi metode konstruktor di mana super() fungsi digunakan untuk memanggil konstruktor dari kelas induk. Kelas anak memiliki metode lain bernama tampilan_detail() untuk mencetak informasi rinci dari buku. Objek dari kelas induk dan anak telah dibuat kemudian untuk memanggil metode kelas yang berbeda.

# Tentukan kelas induk
buku kelas:
# Tentukan konstruktor
def __init__(diri, judul, pengarang, jenis, penawaran):
diri.judul = judul
diri.pengarang = pengarang
diri.jenis = jenis
diri.penawaran = penawaran
# Tentukan fungsi untuk menampilkan jenis buku
def bookType(sendiri):
jika diri sendiri.jenis == 1:
print("%s adalah buku %s." %(diri sendiri.judul, 'Teknik'))
jika diri sendiri.jenis == 2:
print("%s adalah buku %s." %(diri sendiri.judul, 'Medis'))
jika diri sendiri.jenis == 3:
print("%s adalah buku %s." %(diri sendiri.judul, 'Keuangan'))
# Tentukan fungsi untuk menampilkan penawaran diskon
def diskon (sendiri):
jika diri sendiri.penawaran == Benar:
print("Buku ini memiliki penawaran diskon.")
lain:
print("Buku ini tidak memiliki penawaran diskon.")
# Tentukan kelas anak
kelas Eng_book(Buku):
# Tentukan konstruktor
def __init__(diri, judul, pengarang, jenis, penawaran, harga):
super().__init__(judul, pengarang, jenis, penawaran)
diri.harga = harga
# Tentukan fungsi untuk menampilkan detail buku
def display_details(diri):
super().diskon()
jika diri sendiri.penawaran == Benar:
diri.harga = sendiri.harga - sendiri.harga * 0.15
print("Nama Buku :%s" %self.judul)
print("Nama Penulis :%s" % self.penulis)
print("Harga : %0.2f"% sendiri.harga)
print("Menggunakan Kelas Induk :")
# Tentukan objek kelas induk
objbook = Buku('Mikrobiologi Medis', 'Ernest Jawetz, Edward A. Adelberg, Joseph L. Melnick', 2, Salah)
# Fungsi panggilan untuk menampilkan jenis buku
buku obj.jenis buku()
# Fungsi panggilan untuk menampilkan penawaran diskon
buku obj.diskon()
print("\nMenggunakan Kelas Anak:")
# Tentukan objek kelas anak
objEngBook = Eng_book('Matematika Teknik', 'H K Dass', 1, Benar, 50)
# Fungsi panggilan untuk menampilkan detail buku
objEngBook.tampilan_detail()

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas:. Output pertama dihasilkan dengan menggunakan objek kelas induk, dan output kedua dihasilkan dengan menggunakan objek kelas anak.

Contoh-2: Penggunaan fungsi super() dalam banyak pewarisan

Ketika kelas baru dihasilkan dengan mewarisi beberapa kelas, jenis Warisan ini disebut pewarisan berganda. Penggunaan fungsi super() dalam banyak pewarisan telah ditunjukkan dalam skrip berikut:. Departemen adalah kelas induk yang berisi metode konstruktor untuk menginisialisasi variabel dan tampilan() metode untuk mencetak nama departemen. Kursus adalah kelas anak yang diwarisi dari Departemen kelas, dan berisi metode konstruktor dan and tampilan_Course_info() metode untuk menampilkan detail kursus. Guru adalah kelas anak yang diwarisi dari Departemen kelas, dan berisi metode konstruktor dan and tampilan_Teacher_info() metode untuk menampilkan detail guru. Guru_Kursus adalah kelas anak terakhir dari skrip yang telah ditentukan dengan mewarisi keduanya Kursus dan Guru kelas. Objek dari tiga kelas anak telah dibuat di akhir skrip untuk mengakses metode kelas yang berbeda. Itu super() fungsi telah digunakan di dalam metode konstruktor dari semua kelas anak untuk memanggil konstruktor kelas induk. Empat nilai argumen diperlukan untuk membuat objek kelas anak karena konstruk kelas Departemen berisi empat argumen.

# Tentukan Kelas Induk
kelas Departemen():
def __init__(sendiri, dept_name, total_kursus, total_kredit, total_guru):
diri.dept_nama = dept_nama
diri.total_kursus = total_kursus
diri.total_kredit = total_kredit
diri.total_guru = total_guru
tampilan def (diri):
print("Nama Jurusan: %s" % self.dept_name)
# Tentukan kelas anak pertama
Kelas Kursus (Jurusan):
def __init__(diri, nama, mata kuliah, kredit, guru):
# Panggil konstruktor kelas induk
super().__init__(nama, mata kuliah, kredit, guru)
def display_Course_info(mandiri):
print("Jumlah Mata Pelajaran: %d" % mandiri.total_kursus)
print("Total Kredit: %d" % self.total_kredit)
# Tentukan kelas anak kedua
Guru kelas (Jurusan):
def __init__(diri, nama, mata kuliah, kredit, guru):
# Panggil konstruktor kelas induk
super().__init__(nama, mata kuliah, kredit, guru)
def display_Teacher_info(mandiri):
print("Jumlah Guru: %d" % mandiri.total_guru)
# Tentukan kelas anak ketiga yang diwarisi dari dua kelas
kelas Teacher_Course(Kursus, Guru):
def __init__(diri, nama, mata kuliah, kredit, guru):
# Panggil konstruktor kelas induk
super().__init__(nama, mata kuliah, kredit, guru)
def display_details(diri):
super().tampilan()
super().tampilan_Course_info()
super().tampilan_Teacher_info()
print("Menggunakan kelas anak pertama")
objCourses = Kursus('CSE', 72, 150, 50)
objCourses.tampilan()
objCourses.tampilan_Course_info()
print("\nMenggunakan kelas anak kedua")
objTeachers = Guru('BBA', 65, 140, 55)
objGuru.tampilan()
objGuru.tampilan_Teacher_info()
print("\nMenggunakan kelas anak ketiga yang diwarisi dari beberapa kelas")
objDCT = Teacher_Course('Bahasa Inggris', 60, 122, 20)
objDCT.tampilan_detail()

Keluaran:

Output berikut akan muncul setelah menjalankan skrip di atas:. Tiga output telah dihasilkan di sini dengan membuat objek dari tiga kelas anak.

Kesimpulan:

Itu super() fungsi hanya dapat digunakan di dalam kelas anak untuk memanggil konstruktor dan metode kelas induk lainnya. Penggunaan fungsi ini telah ditunjukkan dalam tutorial ini dengan membuat Warisan tunggal dan multi-level. Saya harap tujuan menggunakan fungsi ini di OOP akan dihapus setelah membaca tutorial ini this.

Cara Menggunakan Cheat Engine GameConqueror di Linux
Artikel ini mencakup panduan tentang menggunakan mesin cheat GameConqueror di Linux. Banyak pengguna yang bermain game di Windows sering menggunakan a...
Emulator Konsol Game Terbaik untuk Linux
Artikel ini akan mencantumkan perangkat lunak emulasi konsol game populer yang tersedia untuk Linux. Emulasi adalah lapisan kompatibilitas perangkat l...
Distro Linux Terbaik untuk Gaming pada tahun 2021
Sistem operasi Linux telah berkembang jauh dari tampilan aslinya, sederhana, berbasis server. OS ini telah sangat meningkat dalam beberapa tahun terak...