Oop – Inheritance Atau Turunan Dalam Bahasa Pemrograman Java
Inheritance merupakan salah satu konsep Pemrograman Berorientasi Objek, dimana sebuah class mampu menurunkan atribut/ method ke class lain.
Contoh
Sebagai contoh, pertama kita buat 3 file class terpisah dalam package yang sama.
Buat class Main, Pelajar SiswaSD, SiswaSMP, dan SiswaSMA |
Source Code File Main:
Source Code File Pelajar:
Source Code File SiswaSD, SiswaSMP, dan SiswaSMA
Output:
Output Source code diatas |
Pembahasan
Pertama, perhatikan class Pelajar, kita membuat class pelajar sebagai abstract class, dengan membuat sebuah class sebagai abstract, class tersebut tidak dimungkinkan untuk dibuat objectnya.
jadi misal kita mencoba
Pelajar pelajar = new Pelajar();
Maka ketika menjalankan aktivitas akan terdapat error.
Kenapa dibuat abstract ?
Gunakan kebijaksanaan anda, misal kita mempunyai macan, dan kucing, mereka merupakan turunan dari class hewan.
Kita tau bentuk, ukuran dll dari kucing, kita tau bentuk, ukuran dll dari macan, tapi kalau kita membuat objek hewan, bagaimana sih binatang itu ? tentunya harus lebih spesifik. Hal ini merupakan salah satu alasan kenapa dibuat class hewan menjadi abstract
baca juga : Objek dan Kelas dalam Bahasa Pemrograman Java
Kedua, perhatikan attribut pada class Pelajar adalah NISN dan Nama. Dan juga perhatikan method dibawahnya berupa getter dan setter.
Hal tersebut merupakan salah satu Fundamental dari OOP adalah Enkapsulasi atau disebut juga dengan Data hiding. Penjelasan lebih lanjut akan dibahas nanti.
Tetapi yang perlu anda ketahui, method getter untuk menerima nilai, method setter untuk mengatur nilai.
Lihat arahan diatas. Pertama tama kita membuat atribut NISN (String), menjadi private atribut, dengan ini class lain tidak mampu mengubah/ mengakses nilai NISN.
baca juga : Identifier, Modifer, Variabel dan Keywords Bahasa Java
Untuk lebih memudahkan saya mengubah nama parameter pada setNisn(), sama saja ibarat pada arahan di class Pelajar, tetapi karna nama atribut( NISN ) dan nama parameter( NISN ) yang sama kita harus menentukan kita mau mengakses yang mana, untuk itulah digunakan syntax this. yang berarti kita mengakses dari class Pelajar
Kita juga mampu melakukan This.getNisn()
Contoh:
public String getNisnDitambahStringHaha() { return this.getNisn() + " Haha"; }
Output:
Ketiga, bagian yang paling penting.
Perhatikan class SiswaSD, SiswaSMP, dan SiswaSMA. Untuk menjadikan mereka sebagai turunan dari class Pelajar, kita tinggal menggunakan syntax extends. Perlu diketahui Untuk extends hanya dimungkinkan 1 class induk, tetapi untuk implements interface mampu dilakukan untuk banyak interface.
Apa itu interface ? tunggu saja di pada posting berikutnya
Sekian dari saya, kalau ada yang kurang dimengerti mampu ditanyakan di kolom komentar.
Terima Kasih
Sumber http://ng0ding.blogspot.com/