Thursday 3 November 2016

Mengenal Lebih Dalam Apa itu Constructor & Inheritance ?

Tujuan dibuatnya Artikel ini agar dapat membuat objek baru dari pengembangan objek yang telah ada . Dan kalian harus ingat , bahwa seorang Programmer wajib "Ngulik" atau wajib bereksperimen.
Materinya antara lain : Constructor (single & multiple constructor), Inheritance (superclass, subclass)


Apa itu Constructor ?

- Constructor adalah method yang secara otomatis dipanggil/ dijalankan pada saat sebuah class diinstansi. 
- Nama constructor harus sama dengan nama class dan tidak boleh memiliki tipe return value.
- Sama halnya dengan method, constructor dapat memiliki satu atau banyak parameter maupun tanpa parameter. 
- Constructor biasanya digunakan untuk memberi nilai awal dari atribut-atribut class tersebut. 

Apa itu Multiple Constructor ?
- Java tidak membatasi jumlah constructor dalam satu class, sehingga memungkinkan sebuah class memiliki lebih dari satu constructor.
- Multiple constructor adalah adanya lebih dari satu contructor untuk sebuah class.
- Yang membedakan antara satu constructor dengan constructor lainnya adalah pada parameternya (nama constructornya sama).

Contoh: 

     class Login {
              private String nama, paswd; Login() {
                          this.nama = “”; this.paswd = “”;  
                          }
                          Login(String nama, String paswd){
                          this.nama = nama; this.paswd = paswd;
                          }
                          public void setNama(String nama){
                          this.nama = nama
                          }
                          public void setPaswd(String paswd){
                          this.paswd = paswd;
                          }
              }

Apa itu Inheritance?

- Inheritance merupakan proses pewarisan data dan method dari suatu class yang telah ada kepada suatu class baru.
- Class yang mewariskan disebut dengan superclass / parent class / base class. 
- Class yang mewarisi (class yang baru) disebut dengan subclass / child class / derived class.
- Subclass tidak dapat mewarisi anggota private dari superclass-nya.
- Dengan inheritance, class yang baru (subclass) akan mirip dengan class yang lama (superclass) namun memiliki karakteristik yang baru.
- Dalam Java, subclass hanya bisa memiliki satu superclass (single inheritance) sedangkan superclass bisa memiliki satu subclass atau lebih.
- Untuk menerapkan inheritance, gunakan statement “extends”.  namaSubclass extends namaSuperclass {  ......... // definisi class  } 


Keyword “super” digunakan oleh subclass untuk memanggil constructor atau method yang ada pada superclass-nya.
 Contoh untuk memanggil constructor milik superclass-nya : super()  super(parameter)
 Contoh untuk memanggil method milik superclass-nya : super.namaMethod(parameter)

Contoh: 

           class Orang {
                    private String nama; private double tinggi; private double berat;  public Orang (String nama, double tinggi, double berat) {
                    this.nama = nama; this.tinggi = tinggi; this.berat = berat;
                   }
                   public String toString() {
                   return ("Nama : "+nama+"\nTinggi :"+ tinggi + "\nBerat : "+berat);
                   }
          }


           class Pelajar extends Orang {
                    private String nis; private String asalSekolah; private double nilai; // range: 0-30  public Pelajar (String nama, double tinggi, double berat, String nis, String sekolah, double nilai) {
                    super(nama,tinggi,berat);  this.nis = nis; asalSekolah = sekolah; this.nilai = nilai;
                    }
                    public String toString() {
                    return (super.toString()+"\nNIS :"+nis+ "\nSekolah : "+asalSekolah+"\nNilai :“+nilai);                     }
             }

             class LatihanInheritance {
                      public static void main(String[] args) {
                                 Pelajar siswa = new Pelajar("Fahri",168, 52,"11504871","SMK Wikrama",27.8); System.out.println(siswa.toString());
                      }
             }

 Jalankan LatihanInheritance.java dan akan dihasilkan output sebagai berikut :

------------------------Configuration : <Default>-------------------------
Nama : Fahri
Tinggi : 168.0
Berat : 52.0
NIS : 11504871
Sekolah : SMK Wikrama

Jangan Lupa Visit Juga Blog  : kangmasjm.wordpress.com

Baca Juga Part II Constructor & Inheritance disini


Emoticon Emoticon