Download TIB09 Pemrograman JAVA – 06 – inheritance

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
Pemrograman JAVA
(TIB09)
Inheritance, Interface, Abstract
Class, Inner Class
Materi pembahasan
•
•
•
•
•
•
•
•
•
•
Inheritance
Pengertian Superclass
Keyword super
Keyword this
Overriding, keyword final
Modifier public, protected dan private
Abstract Class
Abstract Method
Interface, keyword interface dan implements
Inner Class, static Inner Class
Inheritance
• Pewarisan suatu class pada class lainnya
• Semua method dan atribut diwariskan pada
class yang melakukan extend pada class
tersebut
• Keyword untuk melakukan pewarisan: extends
• Contoh:
public class Contoh extends KelasLain
{
}
Contoh Inheritance
Kendaraan
-kecepatan : int
-akselerasi : int
+tambahKecepatan() : void
Mobil
-jumlahBBM : int
+tambahBBM()
this vs super
• Keyword this mengacu pada atribut dan
method yang terdapat pada class ybs
Contoh:
this.cetak()
• Keyword super mengacu pada atribut dan
method yang terdapat pada class
parentnya.
Contoh:
super.cetak()
Overriding
•
•
Penyediaan Method ataupun
atribut pada suatu class yang
melakukan extends ke class
parent yang dimana class parent
juga mempunyai method ataupun
attribut dengan nama tersebut
Untuk mengakses method
ataupun attribut dari parent
gunakan keyword super
Contoh:
super.cetak();
•
•
Superclass adalah class yang
diextends oleh suatu class
Ketika suatu instance melakukan
suatu override method, maka
yang dikerjakan adalah method
dari class pembentuknya (bukan
dari super class)
Kendaraan
-kecepatan : int
-akselerasi : int
+tambahKecepatan()
+cetak()
Mobil
-jumlahBBM : int
+tambahBBM()
+cetak()
1
*
-End1
-End2
PanggilMobil
+main()
Final Class
• Class yang tidak boleh di extends lagi
dapat dibuat dengan menambahkan
keyword final
Contoh:
public final class KelasFinal {...}
• Contoh final class dalam java package:
– java.lang.System
– java.lang.String
Final Method
• Method yang tidak dapat di override oleh
sub class
Contoh deklarasi:
public final void contohFinalMethod()
{...}
Final Variabel
• Variabel Final adalah variabel yang hanya
dapat diinisialisasi satu kali saja.
Contoh deklarasi:
public final double nilaiEuler;
Abstract Class
• Class dengan details yang belum diketahui dengan jelas.
• Belum mempunyai implementasi dari method-methodnya, hanya
mempunyai header dari method-methodnya (sering disebut
signature)
• Tidak dapat langsung dibuat instance class  harus di buat
concrete class terlebih dahulu dengan di extends
• Dalam Abstract class dapat dibuat abstract method dan concrete
method
• Abstract Method harus di buat implementasinya pada concrete class
yang meng extends abstract class tsb
• Karena menggunakan keyword extends, Sebuah class hanya dapat
mengextends satu buah abstract class saja.
• Untuk membuat abstract class dan abstract method, gunakan
keyword abstract.
Deklarasi Abstract Class
• Contoh Deklarasi:
public abstract class ContohAbstractClass
{
public abstract void contohAbstractMethod();
public void methodBeneranNih()
{
System.out.println(“ini dicetak dari method beneran lho”);
}
}
Interface
• Hampir sama seperti abstract class, hanya berisi namanama method saja tanpa implementasi
• Sebuah dapat mengimplementasikan lebih dari satu
Interface.
• Menggunakan keyword interface.
• Deklarasi
public interface NamaInterface
{
public void method1();
public void method2();
…
public void method-ke-n();
}
<<interface>>
ContohInterface
+method1()
+method2()
Contoh
+method1()
+method2()
Implementasi interface
• Class yang mengimplementasikan class interface berisi
implementasi dari method-method
• Menggunakan keyword implements.
• Contoh:
public class
{
public void
public void
…
public void
}
Contoh implements NamaInterface
method1() {…}
method2() {…}
method-ke-n() {…}
• Suatu class dapat mengimplementasikan lebih dari satu interface
• contoh
public class Contoh implements NamaInterface1,
NamaInterface2 {…}
Inner Class
• Class yang didefinisikan dalam class yang sudah ada.
Contoh:
Class ContohClass
{
class ContohInnerClass
{
void cetak()
{
System.out.println(“ini dicetak dari
InnerClass”);
}
}
}
Batasan Inner Class
• Dapat mengakses method dan atribut dari class
induk nya
• Class induk tidak dapat mengakses secara
langsung method dan atribut dari inner class nya.
 inner class harus di instance terlebih dahulu
jika akan mengakses method dan atributnya.
• Hasil kompilasi suatu class yang berisi inner
class selain akan menghasilkan file class nya
sendiri, juga akan menghasilkan file class dari
inner class didalamnya dengan susunan nama:
NamaClassInduk$NamaInnerClass.class
Contoh Inner Class
public class Contoh
{
private int contohVariabel;
ContohInnerClass a = new ContohInnerClass();
public void mengaksesInnerclass()
{
a.cetak();
}
class ContohInnerClass
{
void cetak()
{
contohVariabel = 10;
System.out.println(“Cetak dari Inner Class”+contohVariabel);
}
}
}
Static Inner Class
•
•
Sama seperti Static class, suatu static inner class juga tidak perlu dibuat objeknya untuk
mengaksesnya.
Contoh:
– Pada ContohClass.java
public class ContohClass
{
static ContohInnerClass
{
void cetak()
{
System.out.println(“Cetak Dari Static InnerClass”);
}
}
}
– Pada class yang memanggil Class ContohClass
public class PanggilClass
{
public static void main(String[] args)
{
ContohClass.ContohInnerClass contohObjek = new ContohClass.ContohInnerClass();
contohObjek.cetak();
}
}