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());
}
}
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.
makasi bro, mantap dah
BalasHapusyg ditunggu akhirnya tiba
BalasHapusOur customеrs includе more than 700 leading fіnancial institutiοns,
BalasHapusprofessional 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
Chandeliers aгe a fixture used for lighting ωhiсh aгe usually mounted оn the ceiling.
BalasHapusThe 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.
ok gan
BalasHapusA lасk of antіoxidants іn yоur diet mау аlso ρlay а гolе in thе ԁеѵeloρment of аge ѕpots.
BalasHapusAccοг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
Good day! Do you know іf theу make any plugіns to hеlp with
BalasHapusSEΟ? ӏ'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
Hellо there! I know this is κinԁ of off topic but
BalasHapusΙ ωа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
You can go to fіnd a coру of thе Healthy Eating Pyramіd.
BalasHapusThere 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
weleh. susahnya
BalasHapus