Rabu, 11 November 2009

Contoh Program Interface, Class Abstract, dan Inner Class

a) PROGRAM INTERFACE

interface AlatMusik {
void mainkan();
void setelNada();
String ambilNama();
}
class AlatMusikPetik implements AlatMusik{
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara petik");
}
public void setelNada() {
System.out.println("setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
class AlatMusikTiup implements AlatMusik{
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara tiup");
}
public void setelNada() {
System.out.println("setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
class AlatMusikPukul implements AlatMusik{
protected String nama;
public void mainkan() {
System.out.println(ambilNama() + "dimainkan dengan cara pukul");
}
public void setelNada() {
System.out.println("setel nada pada " + ambilNama());
}
public String ambilNama() {
return nama;
}
}
class Gitar extends AlatMusikPetik {
Gitar(String nama){
this.nama = nama;
}
}
class Bass extends AlatMusikPetik {
Bass(String nama){
this.nama = nama;
}
}
class DemoInterface {
public static void main(String[] args) {
AlatMusikPetik gitar, bass;
gitar = new Gitar("Gitar");
bass = new Bass("Bass");
gitar.mainkan();
gitar.setelNada();
System.out.println();
bass.mainkan();bass.setelNada();
}
}

Output:
Gitar dimainkan dengan cara petik
Setel nada pada Gitar

Bass dimainkan dengan cara petik
Setel nada pada Bass

b) PROGRAM CLASS ABSTRAK

abstract class A {
abstract public void method2();
public void method1() {
System.out.println(“method konkrit dari class A”);
}
}
Class B extends A{
Public void method2() {
System.out.println(“method abstrak yang sudah menjadi konkrit dalam class B”);
}
}
Class Latjava{
Public static void main(String[] args) {
B ob= new B() ;
Ob.method1();
Ob.method2();
}
}
Output :
Method konkrit dari class A
Method abstrak yang sudah menjadi konkrit dalam class B

C. INNER CLASS

class Luar {
private int a;
public void set A(int nilai){
a = nilai;
}
public int getA() {
return a;
}
class Dalam {
private int x = 10
public void ShowData() {
System.out.println(“Nilai a dari kelas Luar :” + a);
System.out.println(“Nilai x dari kelas Dalam :” + x);
}
}
public void showData() {
Dalam obj = new Dalam() ;
obj.showData() ;
}
}
class DemoInnerClass{
Public static void main(String[] args){
Luar obj1 = new Luar();
obj1.setA(5) ;
obj1.showData() ;
}
}


Output:

Nilai a dari kelas Luar : 5
Nilai x dari kelas Dalam : 10