Bab 4: ABSTRAK CLASS, INTERFACE,INNER CLASS
Tujuan :
1. Agar mahasiswa memahami dan mempratekan penggunaan abstract class, interface dan inner class.
2. Agar mahasiswa memahami antara abstract class, interface dan inner class.
B. INTERFACE
Interface adalah suatu kelas yang berisi method-method tanpa inplementasi. Namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaannya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk pendeklarasiannya adalah sebagai berikut:
Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas maupun. Jika taka da penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berbeda dalam paket yang sama.
C. INNER CLASS
Inner class adalah kelas yang disiapkan didalam kels yang lain. Fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas-kelas utamanya.
LANGKAH-LANGKAH PRAKTIKUM :
A. Membuat Program MakhlukHidup.java
OUTPUTNYA :
Belum fungsi utama
B. Membuat Program Manusia.java
OUTPUTNYA :
C. Membuat Program Tumbuhan.java
OUTPUTNYA :
D. Membuat Program Pekerjaan.java
OUTPUTNYA :
Belum fungsi utama
E. Membuat Program Sasya.java
OUTPUTNYA :
F. Membuat Program JantungManusia.java
OUTPUTNYA :
2. Agar mahasiswa memahami antara abstract class, interface dan inner class.
Dasar teori
A. ABSTRACT CLASS
Java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai definisinya. Metode ini dkenal dengan nama metode abstract, sedangkan kelasnya dinamakan kelas abstract.
Abstract class adalah suatu kelas yang dinyatakn abstract, umumnya memiliki suatu atau lebih abstract method. Abstract method adalah suatu method yang memiliki suatu implementasi dan menggunakan modifier abstract. Abstaract kelas biasanya dijadikan parent/super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diinstasiasi.
Definisi kelas diletakan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendifinisikan metode-metode yang tergolong sebagai metode abstract.
Interface adalah suatu kelas yang berisi method-method tanpa inplementasi. Namun tanpa modifier abstract, apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaannya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk pendeklarasiannya adalah sebagai berikut:
Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas maupun. Jika taka da penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berbeda dalam paket yang sama.
Inner class adalah kelas yang disiapkan didalam kels yang lain. Fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas-kelas utamanya.
LANGKAH-LANGKAH PRAKTIKUM :
A. Membuat Program MakhlukHidup.java
public abstract class MakhlukHidup {
protected boolean BisaTerbang = false;
protected String Nama;
protected int JlhKaki;
public MakhlukHidup (String Nama1, int JlhKaki1,boolean BisaTerbang1) {
this.Nama = Nama1;
this.JlhKaki = JlhKaki1;
this.BisaTerbang = BisaTerbang;
}
abstract void bernafas();
public void ststus(){
System.out.println("Nama : " +Nama);
System.out.println("Jumlah kaki : " +JlhKaki);
System.out.println("Bisa terbang : " +BisaTerbang);
}
}
|
Belum fungsi utama
B. Membuat Program Manusia.java
public class Manusia extends MakhlukHidup{
Manusia(String Nama){
super(Nama, 2,false);
}
public void bernafas(){
System.out.println(Nama +"bernafas dengan menghirup O2");
}
public static void main(String [] args){
Manusia m = new Manusia("Sayuti");
m.status();
m.bernafas();
}
}
|
Nama:Sayuti
Jumlah kaki:2
Bisa Terbang:false
Sayuti bernafas dengan menghirup O2
|
C. Membuat Program Tumbuhan.java
public class Tumbuhan extends MakhlukHidup{
Tumbuhan(String Nama){
super(Nama, 0,false);
}
public void bernafas(){
System.out.println(Nama+"bernafas dengan menghirup CO2");
}
public static void main(String [] args){
Tumbuhan t = new Tumbuhan("Bayam");
t.status();
t.bernafas();
}
}
|
Nama:Bayam
Jumlah kaki:0
Bisa Terbang:false
Sayuti bernafas dengan menghirup CO2
|
D. Membuat Program Pekerjaan.java
interface Pekerjaan{
public void NamaPekerjaan();
public void gaji();
}
|
Belum fungsi utama
E. Membuat Program Sasya.java
public class Sasya extends Manusia implements Pekerjaan{
public Sasya(){
super("Sasya");
}
public void NamaPekerjaan(){
System.out.println("Gaji : Rp. 3.000.000");
}
public void gaji(){
Sasya s = new Sasya();
s.status();
s.bernafas();
s.NamaPekerjaan();
s.gaji();
}
}
|
Nama:Sayuti
Jumlah kaki:2
Bisa Terbang:false
Sayuti bernafas dengan menghirup O2
|
F. Membuat Program JantungManusia.java
class orang {
private int jumlKaki = 2;
public void dengarBunyiJantung() {
Jantung j = new Jantung() ;
j.bunyiJantung();
}
public void tahanNafas() {
System.out.println("jantung berhenti berdetak!");
}
//inner class
class Jantung {
public void bunyiJantung() {
System.out.println("deg...deg...deg...");
}
public void istirahat () {
System.out.println("silakan ke "+jumlKaki+" kaki.");
tahanNafas();
}
}
}
class JantungManusia {
public static void main(String[] args) {
orang o = new orang();
orang.Jantung p = o.new Jantung();
o.dengarBunyiJantung();
p.istirahat();
}
}
|
deg…deg…deg…
silakan ke 2 kaki.
Jantung berhenti berdetak!
|
Komentar
Posting Komentar