Copyright © [miss kumis*]
Design by Dzignine
Thursday, December 27, 2012

Inheritance dan Interface Pada Java

Mungkin awalnya bingung antara perbedaan inheritance dan interface dan kapan harus digunakan. Dan ada satu lagi yang namanya kelas abstrak [dibahas sekilas]. Di sini aku coba bantu ya, sharing knowledge kalo ada yang salah harap diberi tau :).

Penggunaan Inheritance, interface dan abstrak :
1. Inheritance digunakan ketika parent memiliki atribut dan metode dan lalu semuanya diturunkan pada child.
Contoh : class Transaksi extends Costumer [Transaksi merupakan kelas child, Costumer merupakan kelas parent].
2. Interface digunakan saat parent tidak memiliko apa-apa, hanya metode, namun metode tersebut harus di implementasikan[harus ada] pada kelas child.
3. Abstrak merupakan gabungan antar Inheritance dan Interface, dimana atribut dan metode dari kelas parent harus diturunkan ke kelas child dan metode abstrak harus di implementasikan [harus ada] pada kelas child.

Biar lebih paham, kita pecahkan sebuah kasus ya, dimana ceritanya kita sedang melakukan transaksi, setelah memasukkan identitas kostumer dan memasukkan barang yang dibeli, maka kita dapat mengeluarkan output total harga belanjaannya. Kurang lebih gini analisisnya :



Costumer (kelas parent)
    - int noID
    - String Nama
    - String Alamat

Barang (interface)
    - int kodeBarang
    - String namaBarang
    - float harga

    Transaksi (kelas child)
    - int kode transaksi
    - int banyak
    - total transaksi (banyak * harga)

analisis :
pada transaksi merupakan multiple inheritance costumer dan barang, namun karena pada java tidak boleh ada multiple inheritance, maka kita menggunakan interface pada barang yang berarti memiliki method yang akan diturunkan ke kelas transaksi.

Maka aku akan membuat 4 kelas .java, yaitu :
1. Barang.java untuk kelas interface
2. Costumer.java
3. Transaksi.java
4. Main.java sebagai kelas eksekusi.

Barang.java


Costumer.java


Transaksi.java


Main.java

5 comments:

  1. ooo gitu, thanks gan bermanfaat

    ReplyDelete
  2. iya gan, jd mulai mengerti ni. kalo utk interface, bole ga method ny lebi dr 1?

    ReplyDelete
    Replies
    1. terima kasih agan2, senang bs membantu. untuk implement interface bs di override. misal
      void pakai()
      {//code}
      void pakai(int, int)
      {//code}

      Delete
    2. oo bgitu, salam kenal y syifa :-D

      Delete
  3. Ok thanks udh bantu kuis kuliahan saya hahah

    ReplyDelete

~cipapong

"Anggap sesuatu itu sesederhana sebuah senyuman :}D