Encapsulation, Inheritance, Polymorphisme, PBO Advanced in Java Programming
Encapsulation, Inheritance, Polymorphisme, PBO Advanced in Java Programming
Disusun oleh :
Muhammad Ansori (2015420064)
Achmad Nur Cholis (2015420091)
KATA PENGANTAR
Surabaya, 21 Desember
2016
Tim Penyusun
BAB 1
ENKAPSULASI DAN CONSTRUCTOR
1.1
Pengertian Enkapsulasi
Dalam sebuah objek yang mengandung variabel-variabel dan
method-method, dapat ditentukan hak akses pada sebuah variabel
1.2
Tujuan
a. Agar program terhindar dari ketergantungan terhadap perubahan
yang menyebabkan akibat berurutan/beruntun yang besar
b. Pengkapsulan meredam perubahan menjadi ke hanya objek
tersebut atau sekelompok kecil objek yang memang terkait erat.
1.3
Manfaat
1.3.1.Modularitas
Source code dari sebuah class dapat dikelola secara
independen dari source code class yang lain. Perubahan
Visibility Modifier
Merupakan modifier yang memberikan batasan kemampuan
variabel atau method untuk diakses. Beberapa visibility modifier :
2.2.1. Modifier Public
Modifier
Public
adalah
modifier
yang
memberi
Atribut
atau
method
dengan
akses
modifier
atau
method
dengan
akses
modifier
default
Constructor
Constractor
adalah
method
yang
secara
otomatis
return)
Satu class dapat memiliki lebih dari satu constructor
(overloading constructor )
Pendeklarasian dapat ditambahkan modifier public, private,
1.6
Multiple Constructor
Java tidak membatasi jumlah constructor dalam satu class,
sehingga memungkinkan sebuah class memiliki lebih dari satu
constructor untuk sebuah class. Yang membedakan antara satu
construcror dengan constructor lainnya adalah pada parameternya
(nama constructor sama).
Contoh :
1.7
Function Overloading
Overloading adalah diperbolehkannya dalam sebuah class
memiliki lebih dari satu function yang serupa (nama functionnya
sama) tetapi deklarasi- deklarasi parameternya berbeda.
Contoh :
Public class Latihan {
BAB 2
INHERITANCE (PEWARISAN)
2.1
Inheritance (Pewarisan)
Pewarisan atau inheritance pada pemrograman berorientasi
obnek merupakan suatu hubungan dua buah kelas atau lebih di
mana ada kelas yang memiliki atribut dan metode yang sama
dengankelas lainnya beserta atribut dan metode tambahan yang
merupakan sifat khusu kelas yang menjadi turunannya. Kelas yang
merupakan kelas turunan biasa di sebut subclass
Manfaat
2.5.1. Ekstensi dan batasan
Subclass boleh melakukan penimpaan fitur di superclass
2.3
Keuntungan Inheritance
sebagai
sebagai
sebagai
sebagai
perluasan
batasan
optimasi
kenyamanan
2.3.1. Reusability
Subclass menyediakan variabel/method yang spesifik yang
membedakannya
dengan
superclass,
hal
ini
akan
umum.
Sebuah
subclass
hanya
perlu
mengimplementasikan
2.4
Keyword super
Kata kunci super dapat digunakan oleh subclass baik untuk
memanggil construktor, maupun method yang ada pada superclass.
Bentuk umum pemanggilannya adalah sebagai berikut :
Super (daftar_parameter);
Kata kunci super juga dapat digunakan untuk mengakses
anggota kelas (atribut data maupun method) yang terdapat pada
superclass. Bentuk umum pemanggilannya adalah sebagai berikut :
Super.namaMethod(parameter)
Beberapa hal perlu diingat dalam pemanggilan construktor
dengan super.
definisi construktor.
Hal ini menjelaskan
bahwa
pemanggilan
tidak
super()
construktor
dapat
this()
dijalankan
dan
secara
superclass
Super, Keyword ini digunakan untuk memanggil constructor
dari superclass atau menjadi variabel yang mengacu pada
superclass
Methode overriding, Pendefinisian ulang method yang sama
pada subclass.
Dalam
inheritance,
methode
overriding
berbeda
dengan
2.6
Prinsip inheritance
Atribut maupun
2.7
Multilevel Inheritance
Pada
bahasa
pemrograman
java
diperkenankan
adanya
Subclass
kelas A
}
}
Public class classC extends classB {
String atributC = atribut C;
Public void methodC() {
System.out.println(Method dari class C);
Subclass
Kelas B
}
Public static void main(String[] args) {
Class obj = new classC();
Obj.methodA();
Obj.methodB();
Obj.methodC();}}
atribut dan method dari classB dan classA. Dengan demikian dapat
diartikan bahwa classB merupakan perluasan dari classA, sedangkan
classC merupakan perluasan dari classB dan classA.
2.8
Keyword final
Kelas yang dideklarasikan sebagai kelas final tidak akan dapat
diturunkan lagi menjadi kelas baru, jadi kelas tersebut menjadi kelas
terakhir dari struktur hirarki yang dibentuk.
BAB 3
POLYMORPHISME
3.1
Polymorphisme
Kata polimorfisme yang berarti satu objek dengan banyak
bentuk yang berbeda, adalah konsep sederhana dalam bahasa
pemrograman berorientasi objek (PBO) yang berarti kemampuan
dari suatu variabel referensi objek untuk memiliki aksi berbeda bila
method yang sama dipanggil, dimana aksi method tergantung dari
tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme
dapat diimplementasikan adalah :
atau superclass
Method yang dipanggil harus juga menjadi method dari basis
class.
Signatur method harus sama baik pada superclass maupun
subclass
Method access attribut pada subclass tidak boleh lebih
terbatas dari basis class.
3.2
Overriding method
Overriding
memodifikasi
method
method
adalah
dari
kemampuan
superclass-nya,
subclass
yaitu
dengan
untuk
cara
Contoh
Public class Animal {
Public void SetVoice(){
System.out.println(Blesepblesep);
}
}
Public class Dog extends Animal {
Public void SetVoice(){
System.out.println(Hug Hug);
}
}
3.3
Overloading Method
Overloading Method adalah suatu keadaan dimana beberapa
method sekaligus dapat mempunyai nama yang sama dengan isi
dan parameter yang berbeda didalam sebuah kelas. Overloading
method dapat terjadi baik pada class yang sama, maupun pada
hubungan superclass dan subclass. Ciri-ciri overloading adalah :
1. Nama method harus sama.
2. Daftar tipe, dan/atau jumlah parameter harus berbeda.
3. Tipe kembalian (return type) bisa berbeda, bisa sama.
Contoh
class buku {
private string judul;
private int tahun:
pribate string pengarang:
buku (){}
buku (string judul, int tahun,steing pengarang){
this.judul = judul; this.tahun = tahun;
this.pengarang = pengarang;}
public void setbuku (string judul){
this.judul = judul; }
public void setbuku (string judul, int tahun){
this.judul = judul; this.tahun = tahun;}
BAB 4
ADVANCED CLASS FEATURES
Daftar pustaka :
Harianto, Bambang. Esensi-esensi Bahasa Pemrograman Java.