Object Oriented Approach di Java8
Object Oriented Approach pada dasarnya ada 3 konsep yang bisa diimplementasikan. yaitu seperti berikut:
- Inheritance
- Polymorpism
- Encapsulation
Inheritance atau Pewarisan
Konsep ini adalah mewariskan objek yang ada didalam class induk ke kelas turunannya, sedangkan class child juga memiliki variable dan method tetapi tidak dapat digunakan oleh class parent
berikut implementasi di Javanya:
Sepeda
1
2
3
4
5
6
7
package tdi.training.java.core;
public class Sepeda {
protected Integer roda = 2;
protected String rangka = "Besi";
}
Motor
1
2
3
4
5
6
7
8
9
10
package tdi.training.java.core;
public class Motor extends Sepeda {
public Motor() {
super.rangka = "Tralis";
}
private String mesin = "4 Tak, 2 Cylinder";
}
Mobil
1
2
3
4
5
6
7
8
9
10
11
12
package tdi.training.java.core;
public class Mobil extends Sepeda {
public Mobil() {
super.roda = 4;
super.rangka = "Baja";
}
private String mesin = "6 Cylinder, 1200cc";
}
Polymorpism
Polimorpism adalah kembar tapi tidak sama, magsudnya jadi kita khan punya behavier atau prilaku atau method dengan nama yang sama nilai kembalian yang sama tapi yang menjadi pembedanya adalah dia memiliki nilai masukan atau parameter yang berbeda seperti gambar berikut:
Berikut implementasi kodingnya:
Service
1
2
3
4
5
6
7
8
9
10
package tdi.training.java.core;
public class Service{
private String nama;
public String cari(String nama){
return nama;
}
}
MahasiswaService
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package tdi.training.java.core;
public class MahasiswaService extends Service{
public String cari(){
return "Ketemu";
}
public String cari(String nama, Integer angkatan){
return new StringBuilder(nama)
.append(" ")
.append(angkatan).toString();
}
public String cari(Integer angkatan){
return angkatan.toString();
}
}
Encapsulation
Encapsulation pada dasarnya kita harus mengembunyikan sesuatu, supaya tidak bisa diexpose ke luar kelas tersebut dengan menggunakan keyword private
, protected
dan public
. Tetapi biasanya orang-orang menyembunyikan variable supaya tidak bisa diakses secara langsung untuk aksesnya biasanya menggunakan method yaitu setter & getter
approach.
Private
Akses modifier private itu jadi intinya hanya bisa digunakan di class dia sendiri artinya tidak bisa digunakan / dipanggil ke luar kelas tersebut.
Protected
Akses modifier protected itu jadi intinya hampir sama dengan keyword private hanya kelebihannya adalah masih bisa diturunkan artinya tidak bisa di akses public tetapi ketika class itu extends dari class yang mengimplementasikan method tersebut, maka method tersebut bisa digunakan atau dipanggil.
Public
Akses modifier public itu jadi intinya kebalikan dari akses modifier private atau bisa digunakan / diakses ke luar class.
Setter & Getter
Method setter & getter pada dasarnya method biasa hanya fungsinya untuk inject value ke variable mengunakan method setter dan untuk mengeluarkan nilai menggunakan method namanya getter contohnya seperti berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package tdi.training.java.core;
public class EncapsulationExcample{
private String nama;
// ini method getter
public String getNama(){
return this.nama;
}
// ini method setter
public void setNama(String nama){
this.nama = nama;
}
}