Berikut ini adalah pilar-pilar oop

dalam penggunaan inheritance class Induk akan mewariskan semua atribut yang ia miliki sehingga class bawahnya akan memilki atribut yang sama dengan class induk, bahkan dapat memilki kebabasan untuk memilki atribut berbeda dengan class induknya berikut ilustrasi dalam php.

Pada OOP, sebuah objek dapat diwariskan atau diturunkan atribut/variable dan methodnya ke objek anak, dengan key extends. Pada bagian inheritance ini kita kenal beberapa istilah superclass dan subclass.

Superclass adalah objek induk dan subclass adalah objek turunan dari superclass. Sebagai contoh objek kucing kita sebut superclass dan objek turunan dari kucing misal kucing anggora, kucing hutan, kucing arab dan kucing-kucing lainnya kita sebut sebagai subclass.

Perhatikan contoh berikut :

File Binatang.java (sebagai blueprint)

public class Binatang {
String nama;
int kaki;
int km;
int kekuatanDengar;
String telinga;
String mata;

//konstruktor
public Binatang(){
nama = "";
kaki = 0;
kekuatanDengar = 0;
km = 0;
telinga = "";
mata = "";
}

//mendefinisikan method
public void pendengaranTelinga(int desible){
kekuatanDengar = kekuatanDengar + desible;
System.out.println("Kekuatan pendengar : "+ kekuatanDengar);
}

//method untuk konstruktor dengan satu parameter
public void jarakPandang(int jarak){
km = jarak;
System.out.println("Jarak pandang : "+ km);
}
}

File kucing.java(method turunan dari induk/Binatang)
public class kucing extends Binatang{
//method dari kucing hutan
public void warnaMata(String color){
System.out.println("Warna Mata Kucing Hutan "+ color);
}

public void panjangKuku(int cm){
System.out.println("Panjang Kuku Kucing Hutan "+ cm);
}
}

Penciptaan object dari kucing
File kucingHutan.java
public class kucingHutan {
public static void main(String[] args){
//create object
kucing kucingRumah = new kucing();

//panggil method objek kucing
kucingRumah.warnaMata("merah");
kucingRumah.panjangKuku(10);

//method dasar kemampuan kucing
kucingRumah.pendengaranTelinga(100);
kucingRumah.jarakPandang(500);
}
}

Hasil compile dan run

run:
Warna Mata Kucing Hutan merah
Panjang Kuku Kucing Hutan 10
Kekuatan pendengar : 100
Jarak pandang : 500
BUILD SUCCESSFUL (total time: 0 seconds)

Pilar Kedua ialah, Encapsulation Sebuah class yang baik tidak akan menyatakan/memperlihatkan semua informasi mengenai dirinya kepada pihak luar. Class yang baik akan memilah setiap informasi di dalam dirinya. Mana informasi yang tidak boleh diketahui pihak luar, mana informasi yang boleh diketahui pihak luar, mana data yang boleh diubah dari luar, mana data yang tidak boleh diubah, dan sebagainya.Untuk pemahaman lebih lanjut perhatikan contoh listing program berikut:

Pada contoh diatas untuk file Binatang.java tidak ada perubahan.

Listing file methodBinatang.java
public class methodBinatang{
public static void main(String[] args){
//create object
Binatang kucing = new Binatang();
Binatang katak = new Binatang();

//init objek kucing
kucing.nama = "Kucing";
kucing.kaki = 4;
kucing.telinga = "Panjang";
kucing.mata = "coklat";

//pencetakan dengan memanggil method objek kucing.
kucing.printDataBinatang();

katak.nama = "Katak";
katak.mata = "bulat";
katak.kaki = 4;
katak.telinga = "kecil";

//pemanggilan method objek katak
katak.printDataBinatang();
}
}

Hasil compile

run:
Nama Binatang : Kucing
Jumlah kaki : 4
Bentuk telinga : Panjang
Warna mata : coklat
Nama Binatang : Katak
Jumlah kaki : 4
Bentuk telinga : kecil
Warna mata : bulat

BUILD SUCCESSFUL (total time: 0 seconds)

Ada 2 langkah yang diperlukan untuk melakukan enkapsulasi:

1. Hak akses dari setiap field di dalam class tersebut diubah menjadi private.
2. Buatlah getter dan setter method sesuai dengan kebutuhan. Hak akses dari getter/setter method ini harus public agar dapat dipanggil dari luar class.



Pilar Ketiga adalah Polymorphis Polymorphism apabila diartikan menurut katanya berarti “banyak bentuk”. Ketika sebuah object menerima pesan, object tersebut pastilah mempunyai method untuk menanggapi pesan yang datang tersebut. Apabila suatu object tersebut merupakan turunan dari object laen maka object tersebut pasti akan menuruni semua sifat dari induknya, termasuk juga method-method yang ada.

Dalam hubungan induk dan anak ada sebutan superclass dan subclass, superclass sebagai class induk dan subclass sebagai class anak. Walaupun pesan datang dan ditanggapi oleh method yang sama dengan superclass namun behavior atau perilaku yang akan dilakukan subclass belum tentu sama dengan superclass nya.

Subclass dapat mendefinisikan sendiri sebuah perilaku yang akan dilakukannya, ini yang dimaksud dengan “banyak bentuk” atau polymorphism. Suatu objek yang sama dapat memiliki lebih dari satu bentuk atau perilaku. Sebagai contoh seekor kucing dalam menerima respon akan menggerakkan kaki depannya dan berlari.

Pada objek lain misal seekor katak dalam menerima respon akan melompat, hal ini terjadi pada objek yang sama tetapi dalam proses menerima respon memiliki tindakan yang berbeda.

Apa itu 4 pilar OOP?

Pemrograman berorientasi objek mencakup empat pillar utama, yaitu Encapsulation, Inheritance, Polymorphism dan Abstraction.

Apa saja yang termasuk OOP?

Berikut ini adalah Bahasa pemrograman yang mendukung OOP antara lain seperti:.
Visual Foxpro..
Pascal (bahasa pemrograman).
SIMULA..
Smalltalk..
Python..

Apa yang dimaksud OOP pada Java?

Apa Itu OOP? OOP adalah singkatan dari Object Oriented Programming. Metode pemrograman yang satu ini sangat berorientasi pada objek. Dalam bahasa Indonesia, padanan istilah untuk OOP adalah PBO (Pemrograman Berorientasi Objek). Tujuan OOP adalah untuk dapat memudahkan pengembangan suatu program aplikasi.

Jelaskan apa yang dimaksud dengan OOP?

OOP adalah merupakan kepanjangan dari Object Oriented Programming. OOP merupakan suatu metode pemrograman yang berorientasi kepada objek. Dalam bahasa Indonesia OOP dikenal dengan PBO (Pemrograman Berorientasi Objek).