Kelas dan Objek dalam Object Oriented Programming
Prinsip pemrograman berorientasi
objek adalah membagi modul program yang besar menjadi kumpulan objek-objek yang
saling berinteraksi, dengan prinsip seperti ini maka pemrograman berorientasi
objek lebih menekankan pada proses yang terjadi antar objek. Sehingga dikemudian
akan terdapat kemungkinan sebuah program merupakan kumpulan objek-objek yang
saling bertukar informasi dan data dan memiliki fungsi dan tanggung jawab
masing-masing.
Kelas dan objek merupakan satuan
yang berbeda, Kelas Merupakan kumpulan atas definisi data dan fungsi-fungsi
dalam suatu unit untuk suatu tujuan tertentu dimana didalamnya terdapat
kumpulan atribut dan method,
contoh kelas : binatang,
kendaraan, benda dsb.
Sedangkan
objek merupakan bentuk representasi dari sebuah kelas, membungkus data dan
fungsi bersama menjadi suatu unit atau entitas dalam sebuah program komputer.
pada dasarnya ada 2 karakteristik yang utama pada sebuah objek ;
- Objek memiliki attribut sebagai status yang
disebut Stat
- Objek memiliki tingkahlaku yang kemudian disebut
Method
Contoh sederhananya :
Objek motor memiliki attribute : Roda, Warna, Merk,.
Kemudian objek motor tersebut memiliki tingkahlaku / method : pindah gerigi,
kecepatan menaik, kecepatan menurun.
contoh objek :
-
Anjing,
kucing, kuda : dari kelas binatang
-
Sepeda
motor, mobil, pesawat, kapal : dari kelas kendaraan.
- Batu, air, api, udara : dari kelas benda. dsb
Kelas
Dalam bahasa pemrograman java sebuah file berekstensi *.java harus memiliki
sebuah class public dan dapat memiliki beberapa class non public. Contoh
deklarasi sebuah kelas binatang
public class
binatang {
int jmlKaki;
String
warna;
public
String suara;
public void bersuara()
{
System.out.println(suara);
}
}
Dari deklarasi kelas diatas
terdapat beberapa attribute : jmlKaki, warna, suara. Method pada
kelas binatang diatas adalah bersuara.
Objek
merupakan
bentuk representasi dari sebuah kelas, membungkus data dan fungsi bersama
menjadi suatu unit atau entitas dalam sebuah program komputer, sebuah kelas
dapat diinstansiasikan menjadi banyak objek, sebagai contoh sebuah kelas
binatang dapat diinstansiasikan menjadi objek : kuda, ayam, kambing, harimau
dan sebagainya. Contoh objek sbb :
public class ujibinatang {
public static void main(String[] args)
{
binatang ayam =
new binatang();
ayam.suara="Kukuruyuuk..";
binatang kuda =
new binatang();
kuda.suara="Hieegggh ..";
binatang harimau
= new binatang();
harimau.suara="Graaaaauum ..";
ayam.bersuara();
kuda.bersuara();
harimau.bersuara();
}
}
Dari contoh program diatas
dapat diketahui terdapat 3 objek : ayam, kuda, harimau. Dimana masing-masing
objek merupakan hasil instansiasi dari sebuah kelas binatang.
Seperti
halnya dalam arti Pewarisan itu sendiri yang dimaksud dengan Inheritance
adalah dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan
konsep inheritance, sebuah class dapat mempunyai class turunan.
Seperti
halnya manusia pada umumnya terdapat orang tua dan anak pada PBO juga dikenal parent
class atau base class dan subclass atau
child class.Dimana subclass atau childclass
mewarisi semua data yang ada di parent class atau base
class atau dapat disimpulkan jika subclass atau childclass
adalah perluasan dari parent class atau base class.
Dalam
contohnya kita dapat mengambil contoh mahluk hidup sebagai parent
class dengan method bernafas,bergerak,dan berkembang biak.
Dan kita
menentukan manusia,hewan,dan tumbuhan
sebagai childclass dmn method dari parent class
terdapat dalam childclass.
atau dalam
deklarasinya dapat kita tulis public class manusia extends mahluk_hidup
{ … }
KEUNTUNGAN INHERITANCE :
1. Subclass
menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass,
hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code
dari superclass yang telah ada.
2.
Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik,
yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan
state secara umum.
ISTILAH INHERITANCE :
- Extends
: ini
adalah keyword agar sebuah class menjadi subclass.
- Superclass
:
Menunjukkan class yang berarti parent class dari subclass/class anak.
- Subclass
: adalah
class anak atau turunan dari superclass/parent class.
- Super
Keyword : untuk memanggil konstruktor dari superclass atau
menjadi variabel yang mengacu pada superclass.
- Methode
Overriding : Pendefinisian ulang method yang sama pada
subclass
Dalam
inheritance, method overriding berbeda dengan method overloading.
Jika method
overriding adalah mendefinisikan kembali method yang sama, baik nama
method maupun signature atau parameter yang diperlukan dalam subclass,
Sedangkan method
overloading adalah mendefinisikan method yang memiliki nama yang sama
saja.
Tidak ada komentar:
Posting Komentar