Thursday, October 22, 2015

EXTENDS, SUPER, THIS PADA JAVA

A. EXTENDS


Ada yang pernah nemuin statement extends di java? Atau mungkin sudah pernah nemuin statement extends tapi masih belum ngerit arti atau maksud dari statement itu. Statement itu biasanya berbentuk seperti ini :

Class B extends A {…}

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
}
}




B. SUPER


Subclass juga dapat memanggil constructor secara eksplisit dari superclass terdekat. Hal ini dilakukan  dengan  pemanggil  construktor  super.  Pemanggil  constructor  super  dalam 
constructor  dari  subclass  akan  menghasilkan  eksekusi  dari  superclass  constructor  yang bersangkutan, berdasar dari argumen sebelumnya. 

Sebagai contoh, pada contoh class sebelumnya. Person dan Student, kita tunjukkan contoh dari pemanggil constructor super. Diberikan kode berikut untuk Student seperti,
   
public Student(){ 
super( "SomeName", "SomeAddress" );   
System.out.println("Inside Student:Constructor");   


Kode  ini  memanggil  constructor  kedua  dari  superclass  terdekat  (yaitu  Person)  dan 
mengeksekusinya. Contoh kode lain ditunjukkan sebagai berikut, 

public Student(){ 
super();   
System.out.println("Inside Student:Constructor");   




Kode  ini  memanggil  default  constructor  dari  superclass  terdekat  (yaitu  Person)  dan 
mengeksekusinya.  

Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor super: 

1.  Pemanggil super() harus dijadikan pernyataan pertama pada constructor. 
2.  Pemanggil super() hanya dapat digunakan dalam definisi constructor. 
3.  Termasuk  constructor  this()  dan  pemanggil  super()  tidak boleh terjadi dalam constructor yang sama

Pemakaian  lain  dari  super  adalah  untuk  menunjuk  anggota  dari  superclass(seperti 
reference this). Sebagai contoh, 

public Student() 

super.name = “somename”; 
super.address = “some address”; 


C. THIS


Kata kunci this dipergunakan pada pembuatan kelas dan digunakan untuk menyatakan objek sekarang. Untuk menghindari variabel yang sama antara variabel class dengan variabel property.
Contoh listing Program :
class Siswa2{ 
String nama; 
String nim; 

void isiData ( String nama,String nim) { 
this.nama=nama; 
this.nim=nim; 


public static void main ( String [ ] args){ 
Siswa2 mahasiswa_itn = new Siswa2 ( ); 

mahasiswa_itn.isiData ("Aku","0818999"); 

System.out.println( "Nama : "+ mahasiswa_itn.nama); 
System.out.println( "Nim : " + mahasiswa_itn.nim); 

}

No comments:

Post a Comment