Konsep dasar OOP (Object Oriented Programming)
pada pemrograman Java terdiri dari 3 bagian yaitu:
1. Enkapsulasi/pengkapsulan (encapsulation)
2. Pewarisan (Inheritance)
3.
Polimorfisme (polimorphism)
1.
Encapsulation
(Enkapsulasi)
Dalam konsep ini data dan fungsi digabung
menjadi satu kesatuan yaitu kelas. Konsep ini erat kaitannya dengan konsep
penyembunyian informasi (information hiding). Enkapsulasi merupakan
pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program
agar tidak dapat diakses secara sembarangan oleh program lain.
Enkapsulasi
dibagi menjadi 3 bagian, yaitu
·
Public
suatu modifier yang memungkinkan setiap
variabel maupun method yang dideklarasikan dengan dalam class public ini
dapat diakses oleh setiap class baik dalam package yang sama maupun package
yang berbeda.
·
Protected
suatu modifier yang digunakan
untuk memproteksi suatu class. Sehingga hanya class dan subclass tersebutlah
yang dapat mengakses varibel maupun method dalam class tersebut, baik dalam
package yang sama maupun dalam package yang berbeda.
·
Private
kata kunci yang dideklarasikan dalam
suatu class agar setiap variabel dan method yang berada dalam class private ini
hanya dapat diakses oleh class yang sama. Didalam bahasa pemgrograman java
class yang bersifat private memproteksi agar semua variabel dan methodnya tidak
dapat di akses oleh semua subclass dan non subclass di package yang sama, dan
subclass dan non subclass di package yang berbeda.
Contoh pemakaian enkapsulasi
2. Inheritance
Disebut juga pewarisan,
dalam pemrograman berorientasi objek adalah suatu teknik dimana suatu
class dapat mewarisi attribut maupun method-method yang dimilikinya pada
class lain (disebut subclass).
Inheritance merupakan
dalam pemrograman berorientasi objek yang memungkinkan programmer untuk membuat
kelas baru yang lebih spesifik ataupun di perluas dari kelas yang telah ada
tanpa harus membuat ulang attribut maupun method yang sudah dideklarasikan pada
class sebelumnya. (kecuali menggunakan modifier private).
Keuntungan dari inheritance :
·
Tidak perlu mendefinisikan Variabel Bila membutuhkan , Cukup
menurunkan dari class induk
·
Memudahkan dan Mempercepat pemprogramman , mengurangi Code
3. Polymorphism (Polimofisme)
suatu aksi yang
memungkinkan pemrogram menyampaikan pesan tertentu keluar dari hirarki
obyeknya, dimana obyek yang berbeda memberikan tanggapan/respon terhadap pesan
yang sama sesuai dengan sifat masing-masing obyek.
Atau Polymorphic dapat
berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu
method, yang berasal dari parent class (super class) dimana object tersebut
diturunkan, sehingga memiliki kelakuan yang berbeda.
Overloading method adalah suatu teknik
dimana didalam suatu class terdapat method dengan nama yang sama namun prilaku
yang berbeda.
Aturan penulisannya :
·
Nama Method harus sama
·
Parameter harus berbeda
·
Tipe Kembalian boleh sama ataupun
berbeda
4. Overloading
Overloading Merupakan Suatu Function yang memiliki parameter , dan function
tersebut dapat memiliki nama function yang sama dengan yang lainnya dengan
syarat jumlah parameter mesti berbeda atau bisa kita bilang Situasi di mana beberapa rutin dalam sebuah program
dapat mempunyai nama sama tetapi berbeda jenis parameter dan/utau jenis return
value.
lebih Jelasnya Overloading secara singkat :
·
Nama Method Boleh Sama , Tapi Jumlah
Parameter Mesti berbeda
·
Nilai Yang Di Return Harus memiliki Tipe
yang sama
Berikut
yaitu Contoh Overloading
public class Inioverloading {
public void hasil (int a, int b){
System.out.println("Hasil 2 angka
="+ (a + b));
}
//oveloading perbedaan hasil parameter
public void hasil (int a, int b, int c){
System.out.println("Hasil 3 angka ="
+ (a + b + c));
}
//overloading perbedaan tipe data parameter
public void hasil (double a, int b){
System.out.println("Hasil 2 angka
(double+int) = "+ (a + b));
}
//overloading perbedaan urutan tipe data
parameter
public void hasil (int b, double a){
System.out.println("Hasil 2 angka
(int+double) = "+ (a + b));
}
}
Penggunaan
pada Kelas utama :
public class PenggunaanOverloading {
public static void main(String[] args) {
ContohOverloading co = new ContohOverloading();
co.hasil(83,32);
co.hasil(34,454,432);
co.hasil(34.43,34);
co.hasil(28,33.23);
}
}
5. Overriding
Overriding
Merupakan Suatu Keadaan Dimana kelas anak dapat mengubah atau bisa kita bilang
memodifikasi atau memperluas data dan method pada kelas induk
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
Keuntungan Overriding : dapat menambahkan sifat / atribut pada kelas induk nya
Aturan dari method overriding pada Java
:
·
Parameter yang terdapat pada method
overriding di subclass harus sama dengan parameter yang terdapat pada parent
class.
·
Aturan hak akses, hak akses method
overriding di subclass tidak boleh lebih ketat di bandingkan dengan hak akses
method pada parent class.
Berikut Contoh Overriding :
public class Hewan {
public void begerak(){
System.out.println("Hewan bergerak sesuai kemampuannya");
}
public void berkembangBiak(){
System.out.println("Hewan berkembang biak sesuai kemampuannya");
}
}
public class Mamalia extends Hewan {
//overriding method parent class
public void begerak(){
System.out.println("Mamalia bergerak sebagian besar dengan kakinya");
}
public void berlari(){
System.out.println("Sebagian Mamalia dapat berlari");
}
}
public class PenggunaanOverriding {
public static void main(String[] args) {
// TODO Auto-generated method stub
Hewan b = new Hewan();
Mamalia m = new Mamalia();
Hewan bm = new Mamalia();
b.begerak();
m.begerak();
bm.begerak();
bm.berkembangBiak();
}
}
Tidak ada komentar:
Posting Komentar