Inheritance adalah turunan atau pewarisan suatu class
ke class baru dengan mewakili semua function yang ada di class utama
(parent class). Inheritance sering sekali digunakan di dalam promgraman
berorientasi objek atau OOP. Dengan kata lain, class utama (parent
class) dengan classes turunannya berhubungan satu sama lain.
Contoh :
#abstrack
package latihan;
public abstract class Bentuk2D { //abstract class Bentuk2D
// state
int panjang = 1;
int lebar = 1;
int alas = 3;
int tinggi = 5;
double phi = 3.14;
int r = 2;
// behaviour
public abstract double hitungLuas();
public abstract String getBentuk();
}
#class utama
package latihan2;
* @author hendrik
*/
public class LatihanBentuk2D { // class utama LatihanBentuk2D
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
BujurSangkar A = new BujurSangkar();
A.setSisi(20);
System.out.println("Luas " + A.getBentuk() + " = " + A.hitungLuas());
Kubus B = new Kubus();
B.setSisi(10);
System.out.println("Luas " + A.getBentuk2() + " = " + B.hitungVolume());
persegipanjang C = new persegipanjang();
C.hitungLuaspersegi();
System.out.println("Luas " + A.getBentuk3() + " = " + C.hitungLuaspersegi());
segitiga D = new segitiga();
D.hitungLuassegitiga();
System.out.println("Luas " + A.getBentuk4() + " = " + D.hitungLuassegitiga());
lingkaran E = new lingkaran();
E.hitungLuaslingkaran();
System.out.println("Luas " + A.getBentuk5() + " = " + E.hitungLuaslingkaran());
}
}
#Turunan 1
package latihan;
* @author hendrik
*/
public class BujurSangkar extends Bentuk2D {
public void setSisi(int sisi) {
panjang = sisi;
}
@Override
public double hitungLuas() {
return panjang*panjang;
}
@Override
public String getBentuk() {
return "Bujur Sangkar";
}
public String getBentuk2() {
return "kubus";
}
public String getBentuk3() {
return "Persegi panjang";
}
public String getBentuk4() {
return "segitiga";
}
public String getBentuk5() {
return "lingkaran";
}
}
#Turunan 2
package latihan;
* @author hendrik
*/
public class Kubus extends BujurSangkar {
public double hitungVolume() {
// 1. return panjang*panjang*panjang;
return hitungLuas() * panjang;
}
}
#Turunan 3
package latihan;
/**
*
* @author hendrik
*/
public class persegipanjang extends BujurSangkar {
public double hitungLuaspersegi() {
// 1. return panjang*panjang*panjang;
return panjang*lebar;
}
}
#Turunan 4
package latihan;
/**
*
* @author hendrik
*/
public class segitiga extends BujurSangkar {
public double hitungLuassegitiga() {
// 1. return panjang*panjang*panjang;
return ((alas*tinggi)/2);
}
}
#Turunan5
package latihan;
/**
*
* @author hendrik
*/
public class lingkaran extends BujurSangkar {
public double hitungLuaslingkaran() {
// 1. return panjang*panjang*panjang;
return (phi*(r*r));
}
}
Hasil run dari class utama
Monday 19 November 2012
Tuesday 16 October 2012
Konstruktor pada class bujur sangkar
Definisi
Program
Program ini merupakan salah satu program yang
bernama class Bujur_sangkar
yang mana dalam program ini terdapat sebuah kelas dari suatu objek Bujur_sangkar. kelas Bujur_sangkar
ini memiliki beberapa method (fungsi) diantaranya:
Setsisi(double sisi), digunakan untuk mengisi variable sisi
dengan tipe data double.
public void hitungluas() {, digunakan untuk
menghitung variable luas.
Class main Bujur_sangkar ditandai dengan public static void
main(String[]args){ objek Bujur_sangkar
dipanggil dengan nama Bujur_sangkar ABCD=new Bujur_sangkar (); nama panggilan “ABCD” adalah bersifat bebas
tetapi harus ada pernyataan bahwa ABCD adalah implementasi dari Bujur_sangkar (new Bujur_sangkar).
Instruksi ABCD.setsisi(10); artinya memanggil class Bujur_sangkar (dng nama ABCD), dan diikuti dengan menjalankan method
setsisi(10), hal ini dimaksudkan untuk mengisi variable
sisi dengan data 10 (integer).
Intruksi ABCD.hitunghasil; artinya memanggil class Bujur_sangkar (dengan nama ABCD),hal ini dimaksudkan untuk menghitung
hasil.dan diikuti dengan hasil perhitungan sisi*sisi.
method dari class bujur_sangkar :
package latihan;
/**
*
* @author hendrik
*/
public class Bujursangkar { // merupakan nama kelas dari Bujursangkar
private double sisi;// inisialisasi variabel sisi dengan tipe data double dengan akses private
Bujursangkar(){
System.out.println("Construktor dijalankan");// mencetak perintah “Construktor dijalankan”
sisi = 1; // variabel sisi dengan nilai 1
}
public void setsisi(double sisi){
if(sisi>0){ // perintah akan di jalankan jika sisi lebih dari 0
this.sisi=sisi ;
}
}
public void hitungluas() {
System.out.println(sisi*sisi);// untuk mencetak rumus persegi sisi*sisi
}
void hitunghasil() { // membuat objek hitung hasil.
} // akhir dari void
} // akhir dari class
/**
*
* @author hendrik
*/
public class Bujursangkar { // merupakan nama kelas dari Bujursangkar
private double sisi;// inisialisasi variabel sisi dengan tipe data double dengan akses private
Bujursangkar(){
System.out.println("Construktor dijalankan");// mencetak perintah “Construktor dijalankan”
sisi = 1; // variabel sisi dengan nilai 1
}
public void setsisi(double sisi){
if(sisi>0){ // perintah akan di jalankan jika sisi lebih dari 0
this.sisi=sisi ;
}
}
public void hitungluas() {
System.out.println(sisi*sisi);// untuk mencetak rumus persegi sisi*sisi
}
void hitunghasil() { // membuat objek hitung hasil.
} // akhir dari void
} // akhir dari class
Class bujur_sangkar :
package latihan;
/**
*
* @author hendrik
*/
public class bujur_sangkar { // merupakan deklarasi dari kelas Bujur_sangkar
public static void main(String[]args){ // merupakan sebuah method
Bujursangkar ABCD=new Bujursangkar (); // membuat objek dari Bujursangkar dengan nama ABCD.
ABCD.setsisi(10); // menginputkan sisi dengan nilai 10
ABCD.hitunghasil(); // merupakan perintah untuk meghitung hasil dari Bujur_sangkar ABCD
} // akhir dari method
}// akhir dari class
/**
*
* @author hendrik
*/
public class bujur_sangkar { // merupakan deklarasi dari kelas Bujur_sangkar
public static void main(String[]args){ // merupakan sebuah method
Bujursangkar ABCD=new Bujursangkar (); // membuat objek dari Bujursangkar dengan nama ABCD.
ABCD.setsisi(10); // menginputkan sisi dengan nilai 10
ABCD.hitunghasil(); // merupakan perintah untuk meghitung hasil dari Bujur_sangkar ABCD
} // akhir dari method
}// akhir dari class
Hasil output :
Monday 15 October 2012
Konstruktor Pada Class Persegi Panjang
Definisi Program
Program ini merupakan salah satu contoh program Persegi Panjang dengan nama class
yaitu PersegiPanjang yang mana dalam program ini terdapat
sebuah kelas dari suatu objek PersegiPanjang1. Class
PersegiPanjang ini memiliki beberapa method (fungsi)
diantaranya:
PersegiPanjang (double panjang, double lebar); digunakan untuk pendeklarasian berdasarkan data dari variable panjang dan
lebar.
public void setpanjang (double panjang){ digunakan untuk mengisi variable panjang dengan tipe data
double.
public void setlebar (double lebar) {
digunakan
untuk mengisi variable lebar dengan tipe data double.
public double getpanjang (){ digunakan
untuk mengambil data dari variable panjang dengan tipe data double.
public double getlebar (){digunakan
untuk mengambil data dari variable lebar
dengan tipe data double.
public void hitungluas (double panjang, double lebar){ digunakan untuk menghitung variable
luas.
Class main persegipanjang ditandai dengan public
static void main(String[]args){ objek persegipanjang dipanggil dengan nama PersegiPanjang A=new PersegiPanjang(); nama panggilan “A” adalah bersifat bebas tetapi harus
ada pernyataan bahwa A adalah implementasi dari PersegiPanjang (new PersegiPanjang).
Method dari Class Persegi Panjang
public class PersegiPanjang { //merupakan
nama class dari PersegiPanjang
public static void main(String[]args){ //sebuah method utama
PersegiPanjang A=new PersegiPanjang (); // objek baru A dari class PersegiPanjang
A.hitungluas(); //menghitung luas pada
objek A dengan nilai yang sudah ditentukan dari class PersegiPanjang
A.hitungluas(5,3); //
meghitung luas dengan panjang dan lebar yaitu 5 dan 3
PersegiPanjang B=new PersegiPanjang(); //merupakan objek baru B dari kelas PersegiPanjang
B.hitungluas();//menghitung luas pada objek B
dengan nilai yang sudah ditentukan dari kelas PersegiPanjang
PersegiPanjang C=new PersegiPanjang();//merupakan objek baru C dari
kelas PersegiPanjang
C.setpanjang(8); //
menginputkan panjang dengan nilai 8
C.setlebar (4);// menginputkan panjang dengan
nilai 4
C.hitungluas(); //hitung luas dari Objek
C dengan nilai panjang dan lebar
8 dan 4
C.hitungluas(A.getpanjang(),B.getlebar()); // menghitung luas yang berada pada objek C dan memanggil panjang dan lebar dari objek A dan objek B
}//akhir dari method
}//akhir dari class
Class Persegi Panjang
public class PersegiPanjang { //merupakan
Class dari PersegiPanjang
private double panjang ; //inisialisasi dari variabel panjang
dengan tipe data double menggunakan akses private
private double lebar ;//inisialisasi dari variabel lebar
dengan tipe data double menggunakan akses private
PersegiPanjang(){//memanggil fungsi PersegiPanjang
panjang = 10;//inisialisasi panjang dengan
nilai 10
lebar = 2; // inisialisasi luas dengan
nilai 2
}//akhir objek PersegiPanjang
PersegiPanjang (double panjang, double lebar){
//Memanggil fungsi PersegiPanjang dengan inisialisasi panjang dan lebar bertipe
double
this.panjang = panjang ;
this.lebar = lebar;
}
public void setpanjang (double panjang){//memanggil
fungsi panjang bertipe double
this.panjang = panjang ;
}
public void setlebar (double lebar) {
this.lebar = lebar ;
}
public double getpanjang (){
return panjang ;
}
public double getlebar (){
return lebar ;
}
public void hitungluas (){
System.out.println (panjang*lebar);
}
public void hitungluas (double panjang, double lebar){
setpanjang (panjang);
setlebar (lebar);
hitungluas ();
}// akhir dari method
} // akhir dari class
Hasil output :
Hasil output :
Subscribe to:
Posts (Atom)