Klik tautan ini untuk melihat rangkaian artikel yang termasuk ke dalam Implementasi konsep OOP pada Java.
Pembahasan kita selanjutnya adalah Inheritas.
Inheritas
Kita akan membuat:
- obyek balok yang merupakan turunan dari kelas segiempat
- obyek bola yang merupakan turunan dari kelas lingkaran
Membuat obyek balok
Contoh Parent class segiempat:
public class segiempat{ //atribut private int panjang; private int lebar; //konstruktor segiempat(){ //System.out.println("Telah lahir obyek segiempat"); } segiempat(int panjang,int lebar){ this.panjang = panjang; this.lebar = lebar; System.out.println("Telah lahir obyek segiempat dengan :"); printatribut(); } //get dan set public int getpanjang(){ return panjang; } public void setpanjang(int panjang){ this.panjang=panjang; } public int getlebar(){ return lebar; } public void setlebar(int lebar){ this.lebar=lebar; } //print atribut public void printatribut(){ System.out.println("panjang = "+panjang); System.out.println("lebar = "+lebar); } //method-method lain public int hitungLuas(){ return panjang*lebar; } public int hitungKeliling(){ return 2*(panjang+lebar); } }
Contoh Child class balok:
public class balok extends segiempat{ //atribut private int tinggi; //konstruktor balok(){ System.out.println("Telah lahir obyek balok"); } balok(int panjang,int lebar,int tinggi){ setpanjang(panjang); setlebar(lebar); this.tinggi = tinggi; System.out.println("Telah lahir obyek balok dengan :"); printatribut(); } //get dan set public int gettinggi(){ return tinggi; } public void settinggi(int tinggi){ this.tinggi=tinggi; } //print atribut public void printatribut(){ super.printatribut(); System.out.println("tinggi = "+tinggi); } //method-method lain public int hitungVolume(){ return hitungLuas()*tinggi; } public int hitungLuasPermukaan(){ return 2*(hitungLuas()+(getpanjang()*tinggi)+(getlebar()*tinggi)); } }
Contoh pembuatan obyek balok di dalam Class driver:
public class driver{ public static void main(String[] args){ System.out.println("------------Program inheritance-balok oleh Raja David H./113091045--------------\n"); //segiempat balok blk = new balok(3,4,5); System.out.println("volume balok 1 : "+blk.hitungVolume()); System.out.println("luas permukaan balok 1: "+blk.hitungLuasPermukaan()+"\n"); //coba set System.out.println("coba set : "); blk.setpanjang(6); blk.setlebar(7); blk.settinggi(8); blk.printatribut(); System.out.println("volume balok 1 : "+blk.hitungVolume()); System.out.println("luas permukaan balok 1: "+blk.hitungLuasPermukaan()+"\n"); System.out.println("--------------------------------------------------------------------------------"); } }
Membuat obyek bola
Contoh Parent class lingkaran:
public class lingkaran{ //atribut private float radius; //konstruktor lingkaran(){ //System.out.printf("Telah lahir obyek lingkaran"); } lingkaran(float radius){ this.radius = radius; System.out.println("Telah lahir obyek lingkaran dengan :"); printatribut(); } //get dan set public float getradius(){ return radius; } public void setradius(float radius){ this.radius=radius; } //print atribut public void printatribut(){ System.out.println("radius = "+radius); } //method-method lain public double hitungLuas(){ if (radius%7==0){ return (22*radius*radius)/7; } else { return Math.PI*radius*radius; } } public double hitungKeliling(){ if (radius%7==0){ return (22*radius*2)/7; } else { return Math.PI*radius*2; } } }
Contoh Child class bola:
public class bola extends lingkaran{ //atribut //konstruktor bola(){ System.out.println("Telah lahir obyek bola"); } bola(float radius){ setradius(radius); System.out.println("Telah lahir obyek bola dengan :"); printatribut(); } //get dan set -> idem dengan class lingkaran //print atribut -> idem dengan class lingkaran //method-method lain public double hitungVolume(){ return (4*hitungLuas()*getradius())/3; } public double hitungLuasPermukaan(){ return 4*hitungLuas(); } }
Contoh pembuatan obyek bola di dalam Class driver:
public class driver{ public static void main(String[] args){ System.out.println("------------Program inheritance-bola oleh Raja David H./113091045--------------\n"); //segiempat bola bl1 = new bola(7); System.out.println("volume bola 1 : "+bl1.hitungVolume()); System.out.println("luas permukaan bola 1: "+bl1.hitungLuasPermukaan()+"\n"); bola bl2 = new bola(5); System.out.println("volume bola 2 : "+bl2.hitungVolume()); System.out.println("luas permukaan bola 2: "+bl2.hitungLuasPermukaan()+"\n"); //coba set System.out.println("coba set bola 1: "); bl1.setradius(49); bl1.printatribut(); System.out.println("volume bola 1 : "+bl1.hitungVolume()); System.out.println("luas permukaan bola 1: "+bl1.hitungLuasPermukaan()+"\n"); System.out.println("--------------------------------------------------------------------------------"); } }