0% menganggap dokumen ini bermanfaat (0 suara)
58 tayangan18 halaman

Mikroskil Inheritance Dan Polymorphism

Kelas turunan dapat mewarisi properti dan metode dari kelas induknya. Kelas induk disebut superclass sedangkan kelas turunan disebut subclass. Subclass mewarisi semua fitur dari superclass kecuali jika ditimpa. Konstruktor subclass harus memanggil konstruktor superclass menggunakan super().__init__() agar pewarisan tetap terjadi.

Diunggah oleh

Apriyanto Halim
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
58 tayangan18 halaman

Mikroskil Inheritance Dan Polymorphism

Kelas turunan dapat mewarisi properti dan metode dari kelas induknya. Kelas induk disebut superclass sedangkan kelas turunan disebut subclass. Subclass mewarisi semua fitur dari superclass kecuali jika ditimpa. Konstruktor subclass harus memanggil konstruktor superclass menggunakan super().__init__() agar pewarisan tetap terjadi.

Diunggah oleh

Apriyanto Halim
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 18

Inheritance dan Polymorphism

IF2105 – Perancangan dan Pemrograman Berbasis Objek


By :
Apriyanto Halim, S.Kom., M.Kom.
Khristian Tanselmus, S.Kom., M.TI.
Albert Prima Laia, S.Kom.

PRODI. TEKNIK INFORMATIKA (S-1)


Pendahuluan
Pada pertemuan kali ini, kalian sudah dianggap telah memahami materi
sebelumnya seperti, apa itu paradigma OOP, metode, atribut, objek
dan kelas. Hal tersebut tentunya dapat membantu kita untuk lebih
mudah dalam memahami materi yang akan kita pelajari pada minggu
ini.
Inheritance
• Apa itu Inheritance?

• Inheritance adalah sebuah konsep bahasa pemrograman di mana


sebuah class dapat mewariskan property dan method yang dimilikinya
kepada kelas lain.
• Konsep pewarisan adalah konsep dimana sebuah kelas atau objek
mewariskan sifat dan perilaku kepada kelas lainnya.
Pengenalan Inheritance
• Kelas yang menjadi “pemberi waris” dinamakan kelas induk/kelas
basis (superclass)
• Sedangkan kelas yang menjadi “ahli waris” dinamakan kelas turunan
(subclass)
Sifat pewarisan
• Secara umum, kelas turunan (subclass) akan selalu memiliki sifat dan
perilaku yang sama dengan kelas induknya, mulai dari atribut hingga
fungsi – fungsinya.
• Namun, tidak kebalikannya, belum tentu kelas induk memiliki semua
atribut dan sifat dari kelas – kelas turunannya.
Konsep sederhana penerapan Pewarisan
Kelas
• Kita akan coba membuat kasus sederhana yang akan kita selesaikan
dengan konsep pewarisan.
• Kita memiliki 3 buah kelas:
• Masyarakat
• Pemadam Kebakaran
• Polisi
• Masing – masing dari 3 kelas tersebut memiliki beberapa sifat dan
perilaku yang sama, seperti:
• Nama
• Asal
Konsep sederhana penerapan Pewarisan
Kelas (Cont)
• Tetapi, sebagian kelas tetap memiliki ciri khasnya masing – masing,
seperti :
• Kelas Pemadam Kebakaran memiliki atribut jenis perlengkapan.
• Kelas Polisi memiliki atribut jenis senjata.
• Quest : “Cari hubungan pewarisan antar ketiganya”
• Dalam menyelesaikan kasus diatas, kita perlu menarik sebuah premis
bahwa keduanya memiliki hubungan pewarisan.
• Lantas hubungan apakah itu?
Konsep sederhana penerapan Pewarisan
Kelas (Cont)
Hubungannya adalah :
• Kelas Pemadam Kebakaran sebenarnya merupakan Kelas Masyarakat
juga, hanya saja Kelas Pemadam Kebakaran memiliki atribut
tambahan yang tidak dimiliki oleh Kelas Masyarakat.
• Begitu juga dengan Kelas Polisi, yang umumnya merupakan Kelas
Masyarakat, namun ia memiliki atribut tambahan yang tidak dimiliki
Kelas Masyarakat.
Kelas Basis (Superclass) dan Kelas Turunan
(Subclass)
• Setelah memahami gambaran hubungan “pewarisan” antar ketiga
kelas tersebut, maka
• Kelas Pemadam Kebakaran dan Polisi merupakan kelas turunan dari Kelas
Masyarakat.
• Kelas Pemadan kebakaran dan polisi memiliki bagian yang berbeda pada
bagian alat yang digunakan.
Membuat objek Induk (Parent)
• Cara membuat sama seperti membuat kelas biasa, karena pada
dasarnya, semua kelas pada python bisa menjadi kelas induk dari
kelas turunan lainnya.
• Keterangan: Kelas tersebut hanya memiliki 2 atribut yakni nama dan asal
serta memiliki satu buah tindakan yakni perkenalan()

• Kita bisa membuat instance dari kelas Masyarakat seperti biasanya :

• Output :
Membuat kelas turunan (child)
• Kita akan membuat kelas turunan dari kelas Masyarakat. Seperti yang
sudah kita bahas sebelumnya, kita tinggal membuat dua buah kelas
yaitu kelas Pemadam kebakaran dan Polisi, yang mana keduanya akan
mewarisi kelas Masyarakat.

• Kita bisa membuat kelas turunan dengan cara mengirimkan kelas


induk sebagai parameter saat mendefinisikan kelas.
• Seperti dibawah ini :

• Kita telah membuat dua buah kelas yang keduanya sama – sama memiliki setiap
atribut dan fungsi dari kelas Masyarakat.
• Kita telah meletakkan perintah pass karena kita
hanya ingin melakukan pewarisan apa adanya
tanpa menambahkan apa pun lagi.
• Sehingga, kita bisa membuat instance dari kelas
PemadamKebakaran dan Polisi, serta memanggil
fungsi perkenalan() dengan cara yang benar –
benar identik dengan kelas Masyarakat :
Output
Constructor pada Kelas Turunan
• Konstruktor pada kelas turunan memilki perilaku yang sedikit berbeda
dengan konstruktor yang terdapat pada kelas induk.

• Jika kelas turunan memilki konstruktor sendiri, maka ia akan menimpa


konstruktor dari kelas induk sehingga konstruktor kelas induk tidak
akan pernah dieksekusi.
Fungsi super().__init__()
• Merupakan sebuah ide yang buruk jika kita menimpa konstruktor
kelas induk, karena hal tersebut akan menghilangkan sebagian dari
pewarisan itu sendiri.

• Maka solusi yang bisa kita gunakan adalah dengan memanggil fungsi
konstruktor pada kelas induk secara eksplisit dengan menggunakan
super().__init__()
Studi Kasus Lanjutan
• Perusahaan PT. ABC kembali melakukan perbaikan terhadap
manajemen barang yang dibuat. Pada manajemen barang
sebelumnya, terdapat beberapa bagian yang sama (atribut atau
method/fungsi) pada komputer, switch, kabel jaringan, access point
dan router.

• Dapatkah kalian membantu perusahaan tersebut dalam mencari


persamaan yang ada?

Anda mungkin juga menyukai