Inheritance/Pewarisan dengan Python

Salah satu konsep terkenal pada pemrograman berorientasi objek adalah inheritance/pewarisan. Istilah ini identik dengan generalisasi dan spesialisasi dimana seorang induk akan mewariskan sifat-sifat ke seorang anak yang general dan seorang anak memiliki sifat khusus yang spesifik. Gambar di bawah ini contoh diagram UML dalam menggambarkan relasi generalisasi yang menggambarkan konsep pewarisan.

Kotak menggambarkan kelas dengan tiga kompartemen/ruang yaitu nama, atribut dan metode/operasi. Kelas Unisma di atas merupakan kelas induk yang akan mewariskan tiga buah atribut (nama, status, dan jurusan) dan dua buah operasi/metode (salam dan Info). Di sini simbol minus berarti private (tidak bisa diakses dari luar kelas) dan plus berarti publik (bisa diakses di luar kelas). Silahkan lihat slide berikut.

Kelas Dosen dan Mahasiswa berturut-turut memiliki atribut unik NIP dan NPM, juga metode SalamDosen() dan SalamSiswa(). Perhatikan jangan lupa menulis “()” setelah nama metode/operasi, yang merupakan standar/konvensi internasional. Silahkan buat satu sel yang berisi kelas Unisma yang merupakan kelas Induk.

https://colab.research.google.com/drive/1T19eiVktOrMQzXqZLD3jV4I0fbbQZ6oA?usp=sharing

Kode di atas juga mengilustrasikan pembuatan dua kelas anak yaitu kelas Dosen dan kelas Mahasiswa. Di sini kita menggunakan IDE Google Colab yang dapat diakses tanpa perlu instalasi karena hanya menggunakan browser dengan network ke internet.

Perlu diperhatikan bahwa pemrograman berorientasi objek memiliki konsep Konstruktor dalam tiap pembuatan kelas. Karena tiap kelas harus mampu menciptakan satu objek. Tanpa konstruktor maka kelas tersebut tidak bisa membentuk objek. Istilahnya adalah kelas abstrak, terkadang diperlukan juga kelas jenis ini pada penerapannya. Silahkan lihat video berikut, semoga bermanfaat.

Satu respons untuk “Inheritance/Pewarisan dengan Python

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.