PEWARISAN (INHERITANCE)
Suatu class dapat
diciptakan berdasarkan class lain. Class baru ini mempunyai sifat-sifat yang
sama dengan class pembentunya, ditambah sifat-sifat khusus lainnya, inilah yang
disebut konsep pewarisan. Dengan pewarisan kita dapat menciptakan class baru
yang mempunyai sifat sama dengan class induknya tanpa menulis ulang bagian-bagian
yang sama. Pewarisan merupakan unsur penting dalam pemrograman berorientasi
objek dan merupakan blok bangunan dasar pertama penggunaan kode ulang (code reuse).
Sifat pewarisan ini menyebabkan class-class
dalam pemrograman berorientasi objek membentuk hirarki class mulai dari class
dasar, class turunan pertama, class turunan kedua dan seterusnya. contoh program inheritance di java
buat file pertama dengan nama persegipanjang.java
class
persegipanjang{
int kel = 0;
int lu = 0;
//method
void keliling(int panjang, int lebar){
kel = lebar * panjang * 2;
System.out.println("DATA PERSEGI
PANJANG");
System.out.println("Panjang : " + panjang);
System.out.println("Lebar : " + lebar);
System.out.println(" ");
System.out.println("Rumus Keliling :
panjang x lebar x 2");
System.out.println("Keliling :
" + kel + " dari " + "(" + panjang + " * " +
lebar + " * " + " 2" + ")");
System.out.println(" ");
}
void
luas(int panjang, int lebar){
lu = lebar * panjang;
System.out.println("Rumus Luas :
panjang x lebar");
System.out.println("Luas : " +
lu + " dari " + "(" + panjang + " * " + lebar +
")");
System.out.println(" ");
}
}
lalu kita buat lagi sub class yang akan dipanggil nantinya dengan nama hitungpersegipanjang .java
class
balok extends persegipanjang{
int
volume;
public
void volume(int tinggi){
volume = lu * tinggi;
System.out.println("Rumus Volume: luas
x tinggi");
System.out.println("Volume : " +
volume + " dari " + "(" + lu + " * " + tinggi +
")");
}
}
class
hitungpersegipanjang{
public static void main (String[] args){
//membuat objek
balok persegipj = new balok();
//memanggil methode di objek
//persegipj.keliling(10,2);
persegipj.keliling(10,5);
persegipj.luas(10,5);
persegipj.volume(7);
}
}
maka output akan berupa :
Polymorphisme
Polymorphisme
adalah salah satu dari tiga kemampuan yang mendasar yang dimiliki oleh
OOP, setelah data abstraction dan inheritance.
Polymorphism
menyediakan cara yang berbeda pada pemisahan interface dari
implementasinya, untuk memasangkan ulang apa dari bagaimana.
Polymorphism memberikan organisasi kode yang lebih baik dan kode menjadi
lebih mudah dibaca, juga memberikan suatu kemampuan pada program untuk
berkembang secara terus menerus baik pada tahap pengembangan awal
ataupun pada saat ingin menambahkan kemampuan-kemampuan yang baru.
class CetakDataTipe {
// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public class Polymorphism {
public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();
System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");
System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);
System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
Output seperti dibawah ini :
// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
public class Polymorphism {
public static void main(String[] args) {
CetakDataTipe data = new CetakDataTipe();
System.out.print("Cetak Data Tipe String : ");
data.CetakData("Sumatra");
System.out.print("Cetak Data Tipe Integer : ");
data.CetakData(1989);
System.out.print("Cetak Data Tipe Double : ");
data.CetakData(16.5 / 2);
System.out.print("Cetak Data Tipe Char : ");
data.CetakData('N');
}
}
Output seperti dibawah ini :
kok sama ya maz namanya ma namaku..?
BalasHapushehehe...
beda yah saya pake Q sedangkan anda Kh haha
Hapus