Object Oriented Approach pada dasarnya ada 3 konsep yang bisa diimplementasikan. yaitu seperti berikut:

  1. Inheritance
  2. Polymorpism
  3. 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

Inheritance konsep

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:

Polymorpism konsep

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;
    }
}