Pertemuan ke 6




Pertemuan ke 6 ( Overloading, Overriding)
Pada pertemuan ke 5 dalam bahasa pemrograman Java kita akan membahas tentang Overloading, Overriding).
A.      Overloading
Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapa method yang memiliki parameter yang berbeda (tipe dan jumlah parameter). Overloading memodifikasi method atau konstruktor secara horisontal milik kelas super atau kelas yang sama.
class Pertambahan{
 public void tambah1(){ 
int a=5, b=10;
  System.out.println("Hasil Pertambahann dari metod tambah1 ke-1 = "+(a+b));
 }
 //Metod tambah1 di overloading dengan 2 parameter (int x, int y)
 public void tambah1(int x, int y){
  System.out.println("Hasil Pertambahann dari metod tambah1 ke-2 = "+(x+y));
 }
 public static void main(String [] args){
 Pertambahan pp;
  pp = new Pertambahan();
  pp.tambah1();//memanggil metod tambah1 ke-1
  pp.tambah1(5,5);//memanggil metod tambah1 ke-2
 }
}
 
B.      Overriding
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi  secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
1.       Mendefenisikan kembali method kelas induk secara total.
2.       Menambahkan behaviour tertentu pada method kelas induk.

Akses method SuperClass
Default
Protected
Public
Dioverride ke akses method SubClass
Private
dilarang
dilarang
dilarang
Default
boleh
dilarang
dilarang
Protected
boleh
boleh
dilarang
Public
boleh
boleh
boleh

class Nama{
 public void Sapa(){
System.out.println("Achmad Cahya Aditya");
 }
 public static void main(String [] args){
  Siapa ss;
  Nama nn;
  ss = new Siapa();
  nn = new Nama();
 
  ss.Sapa();//memanggil method Sapa() pada class Siapa
  nn.Sapa();//memanggil method Sapa() pada class Nama
 }
}
class Siapa extends Nama{
 //Method Sapa() pada class Nama di override
 public void Sapa(){
  System.out.println("Yesica Dwi Lestari");
 }
}


Pertemuan ke 5


Pertemuan ke 5 ( Abstract Class, Interface, Inner Class)
Pada pertemuan ke 5 dalam bahasa pemrograman Java kita akan membahas tentang Abstract Class, Interface, Inner Class).
A.      Abstract Class
Berbeda dengan bahasa pemrograman yang lain, java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai definisinya. Metode ini dinamakan metode abstract, dan kelasnya disebut kelas abstract.
Abstract class adalah suatu method yang impelemtasinya berada di kelas anak dan menggunakan modifier abstract. Abstract biasanya dijadikan parent/induk kelas dari kelas-kelas yang dapat membuat objek, dan tidak dapat diinstansiasi.
Contoh dari abstract class :
-       Membuat Program Makhlukhidup.jaya
public abstract class Makhlukhidup {
protected boolean bisaterbang = false;
protected String nama;
protected int jlhkaki;

public Makhlukhidup (String nama1, int jlhkaki1, boolean bisaterbang1) {
       this.nama = nama1;
       this.jlhkaki = jlhkaki1;
       this.bisaterbang = bisaterbang1;
  }

abstract void bernafas ();

public void status () {
     System.out.println (“Nama : “ +nama);
     System.out.println (“Jumlah kaki : “ +jlhkaki);
     System.out.println (“Bisa Terbang : “ +bisaterbang);
  }
}

-       Membuat Program Manusia.java 
public class Manusia extends Makhlukhidup {
    Manusia (String nama) {
         Super (nama, 2, false);
public void bernafas () {
     System.out.println (nama+” bernafas dengan menghirup O2”);
   }
public static void main (String [] args) {
    Manusia m = new Manusia (“Sayuti”);
    m.status ();
    m.bernafas ();
  }
}

B.      Interface
      Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract. Interface yang memiliki suau atribut maka atribut tersebut dijadikan konstanta.
-       Membuat Program pekerjaan.java
 interface pekerjaan {
    public void namapekerjaan ();
    public void gaji ();
}

-       Membuat Program Sasya.java
public class Sasya extends Manusia implements pekerjaan  {
   public Sasya () {
        super (“Sasya “);

public void namapekerjaan () {
   System.out.println (“Pekerjaan : Sekretaris”);
}

public void gaji () {
   System.out.println (“Gaji : Rp. 3.000.000”);
}

public static void main (String [] args) {
    Saysa s = new Sasya ();
    s.status ();
    s.bernafas ();
    s.namapekerjaan ();
    s.gaji ();
  }
}

C.      Inner class
Inner class adalah sebuah kelas yang disisipkan di dalam kelas yang lain. Fungsi inner class sebagai pendukung dari suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas utamanya.

-       Membuat Program jantungmanusia.java
class orang {
   private int jlhkaki = 2;
   public void dengarbunyijantung() {
       jantung j = new jantung();
       j.bunyijantung();
  }
public void tahannafas() {
    System.out.println(“Jantung berhenti berdetak!”);
 }

//inner class
Class jantung {
   public void bunyijantung() {
        System.out.println(“deg…deg…deg…”);
   }
   public void istirahat() {
        System.out.println(“Silangkan ke”+jlhkaki+”kaki.”);
        tahannafas();
    }
  }
}
Class jantungmanusia {
   public static void main (String [] args) {
         orang o = new orang ();
         orang.jantung p = new jantung ();
         o.dengarjantung ();
         p. istirahat ();
  }
}