Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state (variabel-variabel) dan behaviour dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi (override) state dan behaviour yang diturunkan oleh superclass-nya.
Keuntungan dari inheritance adalah :
Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik,yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.
Istilah dalam inheritance yang perlu diperhatikan :
Extends : Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.
Superclass :Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak.
Subclass : Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super : Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super
Kegiatan praktikum
class rumah
{
private String a = " Rumahmewah ";
public void info()
{
//System.out.println (" Dipanggil pada = "+this);
System.out.println (" ");
System.out.println (" Rumah = "+a);
}
}
class rumahindah extends rumah
{
private String b = " tombol alarm ";
public void info()
{
System.out.println (" ");
super.info();
System.out.println (" rumahindah = "+b);
}
}
public class tiperumah
{
public static void main ( String[]args )
{
rumahindah C = new rumahindah();
C.info();
}
}
hasil running
Tugas Akhir
class lingkaran1{
public Double r;
public Double phi=3.14;
public void panjangr()
{
System.out.println("Panjang jari-jari :"+r);
}
}
class keliling extends lingkaran1{
Double kel,r2,p;
public void hitungk()
{
p = super.phi;
r2=super.r;
kel = 2*r2*p;
System.out.println("Keliling Lingkaran : "+kel);
}
}
class luas extends lingkaran1{
Double Luas,r2,p;
public void hitungl()
{
p= super.phi;
r2=super.r;
Luas = 2*r2*r2*p;
System.out.println("Luas Lingkaran : "+Luas);
}
}
public class lingkaran{
public static void main(String [] a)
{
keliling l1 = new keliling();
luas l2 = new luas();
l1.r = 7.0;
l2.r = 7.0;
l1.hitungk();
l2.hitungl();
}
}
Hasil Running
Tugas tambahan
class Shape{
String name, size;
public Shape(String name){
this.name = name;
}
public void printShapeInfo(){
System.out.println("Shape name : "+name);
System.out.println("Shape Size : "+size);
}
public void printShapeName(){
System.out.println("Shape name : "+name);
}
public void printShapeSize(){
System.out.println("Shape size : "+size);
}
}
/*langkah ke-2: Membuat Class Square turunan dari Shape*/
class square extends Shape{
String name, size;
int length, width;
public square(String name){
super(name);
}
public void printShapeInfo(){
super.printShapeInfo();
}
public void printShapeName(){
super.printShapeName();
}
public void printShapeSize(){
super.size = String.valueOf(length*width);
super.printShapeSize();
}
public void printWidth(){
System.out.println("Lebar : "+width);
}
public void printLength(){
System.out.println("Panjang : "+length);
}
}
/*langkah ke-3: Membuat Main Program dengan Nama Class Main */
class main{
public static void main (String[] args){
square persegi = new square("persegi");
persegi.length = 10;
persegi.width = 8;
persegi.printShapeName();
persegi.printLength();
persegi.printWidth();
persegi.printShapeSize();
System.out.println("\n");
persegi.printShapeInfo();
}
}
Hasil running
0 komentar:
Posting Komentar