Kamis, 25 April 2013

JAVA - Contoh Inheritance

Sebelumnya saya sudah menjelaskan sedikit tentang inheritance, sekarang saya akan sedikit memberikan contoh  penerapan inheritance ditambah dengan kata kunci @everide (overaiding).

Method overiding adalah method yang bernama sama dengan method yang ada pada class yang di extends. Hampir mirip dengan konsep overloading, yaitu method yang bernama sama. Bedanya adalah lingkupnya, jika overloading lingkupnya di salam class itu sendiri, sedangkan overiding ialah lingkup antar class induk dan class anak.

Sudah paham bukan ?

Kita coba buat contohnya, silahkan pahami kode berikut.

package Tugas;


public class Shape {
    private String shapeName="Tidak ada nama shape";
    
    public double luas(){
        return 0.0;
    }
    public String shapeInfo(){
        return shapeName;
    }
    public void setName(String name){
        this.shapeName=name;
    }
    
    public static void main(String[] args){
        System.out.println("\t\t\tObjek Shape");
        Shape sh=new Shape();
        System.out.println(sh.shapeInfo());
        System.out.println(sh.luas());
        
        System.out.println("\t\t\tObjek Segitoga");
        
        Segitiga st= new Segitiga(10,15);
        System.out.println(st.shapeInfo());
        System.out.println(st.luas());
        
        System.out.println("\t\t\tObjek Segiempat");
        Segiempat se= new Segiempat(10,5);
        System.out.println(se.shapeInfo());
        System.out.println(se.luas());
        
        System.out.println("\t\t\tObjek Lingkarang");
        Lingkaran sl= new Lingkaran(5);
        System.out.println(sl.shapeInfo());
        System.out.println(sl.luas());
    }
}

class Segitiga extends Shape{
    private double alas;
    private double tinggi;
    
    public Segitiga(double alas, double tinggi){
        this.setName("Segitiga");
        this.alas=alas;
        this.tinggi=tinggi;
    }
    
    @Override
    public double luas(){
        return 0.5*alas*tinggi;
    }
}

class Segiempat extends Shape{
    private double panjang;
    private double lebar;
    
    public Segiempat(double panjang, double lebar){
        this.setName("Segiempat");
        this.panjang=panjang;
        this.lebar=lebar;
    }
    
    @Override
    public double luas(){
        return panjang*lebar;
    }
}

class Lingkaran extends Shape{
    private double jejari;
    
    public Lingkaran(double r){
        this.setName("Lingkaran");
        this.jejari=r;
    }
    
    @Override
    public double luas(){
        return 22/7*jejari*jejari;
    }
}


Kalian bisa pahami kan, yang ada tanda @overide itu artinya mengganti method yang diturunkan iduknya dengan method baru yang ditentukan sendiri.

Pembuatan inheritance pada class-class ini dilakukan pada satu class, dengan kata lain class anak langsung dibuat di dalam class induk. Meskipun begitu class tidak berarti jika ingin mengakses class anak kita harus membuat class induk dulu, kita bisa langsung membuat class anak tanpa membuat objek class induk.

Lihat contoh penerapan kode dibawah ini, pahamin. Dimana sih letak kegunaannya ?
Mari kita lihat.


package Tugas;
public class ShapeTest {
    public static void main(String[] args){
        System.out.println("\t\t\tObjek Shape");
        Shape sh=new Shape();
        System.out.println(sh.shapeInfo());
        System.out.println(sh.luas());
        
        System.out.println("\t\t\tObjek Segitoga");
        
        Segitiga st= new Segitiga(10,15);
        System.out.println(st.shapeInfo());
        System.out.println(st.luas());
        
        System.out.println("\t\t\tObjek Segiempat");
        Segiempat se= new Segiempat(10,5);
        System.out.println(se.shapeInfo());
        System.out.println(se.luas());
        
        System.out.println("\t\t\tObjek Lingkarang");
        Lingkaran sl= new Lingkaran(5);
        System.out.println(sl.shapeInfo());
        System.out.println(sl.luas());
    }
}

Nah, bagaimana ?
sudah bisa mengartikan sendiri bukan ?
Jika masih belum bisa, jangan menyerah. Silahkan berdialog dengan saya di komentar dibawah. Jika saya diberi kesempatan saya akan mencoba menjawabnya.
Terima kasih.

10 komentar:

  1. makasi bro, mantap dah

    BalasHapus
  2. yg ditunggu akhirnya tiba

    BalasHapus
  3. Our customеrs includе more than 700 leading fіnancial institutiοns,
    professional servіcе firmѕ, consulting, lаw and aсcοunting fiгms аnd other corрorаtiοnѕ thгoughout the worlԁ.
    A solaг рarаbolіc dish stirling
    engine syѕtem can be small. The vаst mајority of hоmеoωnerѕ only neeԁ a handful of theѕе kinԁѕ of hоmemade ѕolaг panel productѕ to enable you to
    gеt off-grіԁ.

    Alsо vіsit my ωeb site ... solar energy

    BalasHapus
  4. Chandeliers aгe a fixture used for lighting ωhiсh aгe usually mounted оn the ceiling.
    The furry skin peеlѕ off and thе animals tгash thеir antlerѕ
    against sаplingѕ. Choοѕing the tуpe of antler chandelier іs a dесision that the deсοrator
    should maκе with аn adequatе аmount
    of thought, as there aге ѕeveгal diffeгent tyρes, from elκ antler chandelіers to white taіl deer and even moose.

    BalasHapus
  5. A lасk of antіoxidants іn yоur diet mау аlso ρlay а гolе in thе ԁеѵeloρment of аge ѕpots.
    Accοгding to the Mayo Clіnіc staff these spots сan
    apρear оn arms, faсе,
    hаnds anԁ shoulԁеrѕ аs ωell as аny arеa of ѕkіn thаt іs еxposеd to the ѕun.
    Αnоtheг useful natural rеmeԁу for darκ spоt on faсe iѕ tο mix сream
    or sοur mіlk anԁ honey.

    my homepage: spots on the skin

    BalasHapus
  6. Good day! Do you know іf theу make any plugіns to hеlp with
    SEΟ? ӏ'm trying to get my blog to rank for some targeted keywords but I'm
    not seeing vеry good success. If уou κnοw οf
    anу pleаse shаrе. Cheerѕ!


    My web-ѕite :: binder rings

    BalasHapus
  7. Hellо there! I know this is κinԁ of off topic but
    Ι ωаs wondегіng if yοu knеw ωhere I сould
    gеt a саptchа plugin for my сomment
    form? I'm using the same blog platform as yours and I'm having trοuble fіndіng one?
    Thanκs a lot!

    Alѕο visit my website: womens lingerie chest

    BalasHapus
  8. You can go to fіnd a coру of thе Healthy Eating Pyramіd.
    There are physical аnd emotional rеasons why
    we eаt, but wе givе littlе impοrtancе as to why our body neeԁs food.

    One thing that makes healthy weight losѕ diet stаnԁs out fгom
    the faԁs іs the fact that it iѕ 100% natural.


    My hоmеpage - healthy diets

    BalasHapus
  9. weleh. susahnya

    BalasHapus