Rabu, 21 Oktober 2015

Tugas pengertian extend, super dan this pada java

Extend
Statement extend digunakan oleh sebuah class baru untuk mendapatkan semua variable dan method dari class yang di extendnya. Dan apabila di class baru ini terdapat variable atau method dengan nama yang sama dengan variable dan method dari class yang di extend, maka secara otomatis variable atau method yang ada di class yang di extend akan di overwrite, khusus untuk kondisi di dalam class yang baru ini. Sebagai contoh:

class B {
int x;
void setIt (int n) { x=n;}
void increase () { x=x+1;}
void triple () {x=x*3;};
int returnIt () {return x;}
}
class C extends B {
void triple () {x=x+3;} // override existing method
void quadruple () {x=x*4;} // new method
}
public class GetRich {
public static void main(String[] args) {
B b = new B();
b.setIt(2);
b.increase();
b.triple();
System.out.println( b.returnIt() ); // prints 9
C c = new C();
c.setIt(2);
c.increase();
c.triple();
System.out.println( c.returnIt() ); // prints 6
}
}


Super 
Untuk mengakse anggota kelas diwariskan oleh kelas dimana ia muncul. Super juga digunakan untuk meneruskan panggilan dari konstruktor di superclass. Atau dengan kata lain  super digunakan untuk memanggil method pada superclass.

Contoh :

class katt
{
  public void suara()
  {
    System.out.println("Miaww...");
  }
}
class siam extends katt  //siam adalah turunan dari katt
{
  public void mengeong()
  {
    super.suara(); //memanggil method suara pada superclass katt
  }

  public static void main(String[] args)
  {
    siam siam1 = new siam();
    siam1.suara(); //mencetak "Miaww..."


This 
Digunakan untuk mewakili sebuah instance dari kelas dimana ia muncul. This dapat digunakan untuk mengakses anggota kelas sebagai referensi. This juga digunakan untuk meneruskan panggilan dari satu konstuktor dikelas untuk konstuktor lain dikelas yang sama. Dengan kata lain bisa disimpulkan bahwa This digunakan untuk menujuk pembuat kelas(variabel instant) dan digunakan untuk menyatakan objek sekarang atau object dalam class tersebut..

Contoh this :

class manusia
{
            int a = 1 ;         //field (dideklarasikan private)
            int b = 1  ;
           
            public void set_nama()            //method (dideklarasikan private)
            {
            System.out.println(a)  ; //1
                        System.out.println(b) ; // 1
            }
           
            public void set_nama2(int a)   //10 method (dideklarasikan public)
            {
            System.out.println(this.a) ;  //1
            System.out.println(a) ;            //10
            this.a= a; // dalam kelas yang sama varibel bisa di akses ; // method dalam kelas 
            yang sama bisa akses
            //System.out.println(a) ;
           
System.out.println(this.a) ;
           
            System.out.println(b) ;
            }
           
                       
            public void set_nama3()          //10 method (dideklarasikan public)
            {
            System.out.println("set nama 3") ;     
            System.out.println(a) ;  //1
           
            }
           
}



class tes_manusia
{
            public static void main(String[] args)
            {
                        manusia orang_1 = new manusia();
                        orang_1.set_nama() ;
                        orang_1.set_nama2(10);
                        orang_1.set_nama3() ;


                        }
}

source:
http://optionsface.blogspot.co.id/2010/11/final-super-this-public-private.html
http://keywordjava.blogspot.co.id/2013/02/jenis-jenis-keyword-pada-java-dan.html
http://rahmatbuyunghardi.blogspot.co.id/2011/07/statement-extend-di-java.html

Super