Kamis, 19 April 2012

pengertian serta contoh program inheritance dan polimorfisme

KELOMPOK

Pengertian & Contoh Program Inheritance

Pengertian Inheritance (Pewarisan) adalah salah satu bentuk penggunaan kembali perangkat lunak dimana suatu kelas baru dibuat dari kelas yang sudah ada dengan memakai variabel data fungsi (method) dari kelas yang sudah ada tersebut serta menambah atribut/pelaku yang baru, kelas baru otomatis memiliki variabel atau fungsi yang dimiliki kelas asal.

Contoh program :

class A {
private int a;
public void setA(int nilai) {
a = nilai;
}
public int getA() {
return a;
}
}
// membuat kelas turunan (subclass) dari kelas A
class B extends A {
private int b;
public void setB(int nilai) {
b = nilai;
}
public int getB() {
return b;
}
}
// membuat kelas turunan (subclass) dari kelas B
class C extends B {
private int c;
public void setC(int nilai) {
c = nilai;
}
public int getC() {
return c;
}
}
class DemoKelasTurunan {
public static void main(String[] args) {
// melakukan instansiasi terhadap kelas C
C obj = new C();
// mengeset nilai dari kelas C
obj.setA(100);
obj.setB(200);
obj.setC(300);
// mendapatkan nilai yang terdapat dalam kelas C
System.out.println(“Nilai a : ” + obj.getA());
System.out.println(“Nilai b : ” + obj.getB());
System.out.println(“Nilai c : ” + obj.getC());
}
}

OUTPUT

 


Pengertian & Contoh Program Polimorfisme
Polimorfisme adalah kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama. Sebagai contoh, terdapat kelas A yang diturunkan menjadi kelas B, C, dan D. Dengan konsep polimorfisme, kita dapat menjalankan method-method yang terdapat pada kelas B, C, dan D hanya dari objek yang diinstansiasi dengan kelas A. Polimorfisme sering dinamakan dengan dynamic binding, late binding, maupun runtime binding.
Java mengimplementasikan polimorfisme dengan 2 cara, yaitu:
1. Methode overloading
2. Methode overriding dengan pewarisan
Contoh Program
// Mendefinisikan kelas induk
class Bentuk {
public double luas() {
System.out.println(“Tidak didefinisikan”);
return 0;
}
}
class PersegiPanjang extends Bentuk {
private double panjang;
private double lebar;
PersegiPanjang(int p, int l) {
panjang = p;
lebar = l;
}
public double luas() {
System.out.println(“Dalam objek persegi panjang:”);
return (panjang * lebar);
}
}
class BujurSangkar extends Bentuk {
private double sisi;
BujurSangkar(int s) {
sisi = s;
}
public double luas() {
System.out.println(“Dalam objek bujursangkar:”);
return (sisi * sisi);
}
}
class Segitiga extends Bentuk {
private double alas;
private double tinggi;
Segitiga(int a, int t) {
alas = a;
tinggi = t;
}
public double luas() {
System.out.println(“Dalam objek segitiga:”);
return ((alas * tinggi)/2);
}
}
class Lingkaran extends Bentuk {
private double jarijari;
private final double PI = 3.1416;
Lingkaran(int r) {
jarijari = r;
}
public double luas() {
System.out.println(“Dalam objek lingkaran:”);
return (PI * jarijari * jarijari);
}
}
class DemoPolimorfisme2 {
public static void main(String[] args) {
Bentuk obj;
PersegiPanjang pp = new PersegiPanjang(5, 3);
BujurSangkar bs = new BujurSangkar(4);
Segitiga st = new Segitiga(4, 3);
Lingkaran lk = new Lingkaran(2);
// obj mengacu pada objek PersegiPanjang
obj = pp;
// akan memanggil method yang terdapat pada PersegiPanjang
System.out.println(“Luas : ” + obj.luas());
System.out.println();
// obj mengacu pada objek PersegiPanjang
obj = bs;
// akan memanggil method yang terdapat pada BujurSangkar
System.out.println(“Luas : ” + obj.luas());
System.out.println();
// obj mengacu pada objek PersegiPanjang
obj = st;
// akan memanggil method yang terdapat pada Segitiga
System.out.println(“Luas : ” + obj.luas());
System.out.println();
// obj mengacu pada objek PersegiPanjang
obj = lk;
// akan memanggil method yang terdapat pada Lingkaran
System.out.println(“Luas : ” + obj.luas());
System.out.println();
}
}

Output



Sumber Referensi: Buku java penerbit Informatika

Tidak ada komentar:

Posting Komentar