Fungsi Extend, Super dan This Pada Java

Fungsi Extend, Super dan This Pada Java

Extends pada java berfungsi untuk memanggil fungsi dari class lain, sehingga kita tidak perlu lagi membuat script yang sama pada class yang akan kita buat dengan class yang kita buat sebelumnya. Bingung, jadi begini saja, kita misalkan si joni, koko, dan joko berada di ruang A. kemudian si joreng ingin memanggil mereka bertiga sedangkan si joreng berada di ruang B, karena joreng kakinya sakit, jadi dia minta bantuan pada extends untuk memanggil mereka bertiga, sehingga mereka bisa datang ke ruang B.

public class orang {
  String nama, alamat;
  int umur;

  public void setnama(String nama) {
    this.nama = nama;
  }

  public void setalamat(String alamat) {
    this.alamat = alamat;
  }

  public void setumur(int umur) {
    this.umur = umur;
  }

  public String getnama() {
    return nama;
  }

  public String getalamat() {
    return alamat;
  }

  public int getumur() {
    return umur;
  }
}

Simpan file ini dengan nama orang.java, di sini fungsi extends belum di gunakan.

 

public class dosen extends orang {
  String iddosen;

  public void setiddosen(String iddosen) {
    this.iddosen = iddosen;
  }

  public String getiddosen() {
    return iddosen;
  }
}

Simpan file ini dengan nama file dosen.java, di sini baru kita menggunakan fungsi extends untuk memanggil orang.java. sehingga dalam file dosen.java tidak menggunakan banyak script.

public class mhs extends orang {
  String nim;

  public void setnim(String nim) {
    this.nim = nim;
  }

  public String getnim() {
    return nim;
  }
}

Untuk script ini simpan dengan file orang.java. semua script di atas itu bukan untuk di tampilkan. Di bawah ini adalah script untuk menampilkannya. jadi simpan dengan file tampilkan.java

//tampilan
public class tampilkan{
  public static void main(String[] argh){
    dosen apa = new dosen();
    mhs apa2 = new mhs();
    System.out.println(“===========Mahasiswa===========”);
    apa2.nim = “11.11.496″;
    apa2.nama = “Putra Siagian”;
    apa2.alamat = “Tangerang”;
    apa2.umur = 19;
    System.out.println(“Nim : “+apa2.nim);
    System.out.println(“Nama : “+apa2.nama);
    System.out.println(“Alamat : “+apa2.alamat);
    System.out.println(“Umur : “+apa2.umur);
    System.out.println(“================================”);
    System.out.println();
    System.out.println(“=============Dosen==============”);

    apa.iddosen = “9986785″;
    apa.nama = “Leo”;
    apa.alamat = “Tangerang”;
    apa.umur = 26;

    System.out.println(“IDDosen : “+apa.iddosen);
    System.out.println(“Nama : “+apa.nama);
    System.out.println(“Alamat : “+apa.alamat);
    System.out.println(“Umur : “+apa.umur);
    System.out.println(“================================”);
  }
}

SUPER CLASS PADA JAVA

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,

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:

Pemanggil super() HARUS DIJADIKAN PERNYATAAN PERTAMA DALAM constructor.
Pemanggil super() hanya dapat digunakan dalam definisi constructor.
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”;
}

FUNGSI THIS PADA JAVA

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