Tugas Alpro2 – Minggu 4 – 4121053 – Erlangga JayaWardhana

 

INHERITENCE


Inheritance merupakan salah satu fundamental dari pemrograman java. Inheritance bersifat krusial karena memiliki efek langsung pada bagaimana anda mendesain class-class. Tujuan dari konsep ini yaitu ketika membuat suatu class hanya perlu menspesifikasikan apa yang menjadi perbedaan antara suatu class dengan class lainnya, kemudian secara otomatis inheritance ini akan memberikan akses otomatis terhadap informasi yang terkandung dari class lainnya. 

Keyword untuk Inheritance atau pewarisan adalah extends.

Cara Kerja Inheritance

Suatu subclass yang menerima pewarisan dari superclass-nya akan bisa menggunakan field-field serta method-method dari superclass-nya, selama acces modifiernya memenuhi syarat 
untuk itu. Misalkan dalam Game, kita akan membuat class-class musuh dengan perilaku yang berbeda.



Class Enemy adalah class induk yang memiliki anak Zombie, Pocong, dan Burung.  Apapun properti yang ada di class induk, akan dimiliki juga oleh class anak.  

Lalu bagaimana bentuk kodenya dalam Java? 
Pada program Inheritence, di class anak, kita menggunakan kata kunci extends untuk menyatakan kalau dia adalah class turunan dari Enemy. 

Bentuk kodenya akan seperti ini: 

#Enemy.java

package enemy;

/**
 *
 * @author Lenovo
 */
public class Enemy {

        String name;
        int hp;
        int attackPoin;
   
        void attack(){
       
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("URAAAAAAA!");
        System.out.println();
    }
}
#Zombie.java
package enemy;

/**
 *
 * @author Lenovo
 */
class Zombie extends Enemy {
   
    void walk(){
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("Zombie jalan-jalan");
        System.out.println();
    }
}
#Pocong.java
package enemy;

/**
 *
 * @author Lenovo
 */
class Pocong extends Enemy {
   
    void jump(){
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("loncat-loncat!");
        System.out.println();
    }
}
#Burung.java
package enemy;

/**
 *
 * @author Lenovo
 */
class Burung extends Enemy {

    void walk(){
       
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("Burung berjalan");
        System.out.println();
    }
    void jump(){
       
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("Burung loncat-loncat");
        System.out.println();
    }
    void fly(){
        System.out.println("Nama : "+name);
        System.out.println("Bar Darah :"+ hp);
        System.out.println("Damage : " + attackPoin);
        System.out.println("Burung Terbang...");
        System.out.println();
       
    }
}
#Proses.java
package enemy;

/**
 *
 * @author Lenovo
 */
public class Proses {
    public static void main(String[] args){
        Enemy Goblin = new Enemy();
               
        Zombie Mayat = new Zombie();
               
        Pocong Setan = new Pocong();
       
        Burung Sayap = new Burung();
       
        //tempat pemanggilan
        Goblin.name = "Pala-Pala";
        Goblin.hp = 1500;
        Goblin.attackPoin = 5436;
        Goblin.attack();

        Mayat.name = "Big Zombay";
        Mayat.hp = 10000;
        Mayat.attackPoin = 9800;
        Mayat.walk();
       
        Setan.name = "Dalbo";
        Setan.hp = 9870;
        Setan.attackPoin = 4655;
        Setan.jump();
       
        Sayap.name = "Phoenix";
        Sayap.hp = 50000;
        Sayap.attackPoin = 99999;
        Sayap.fly();
       
        Sayap.name = "Phoenix";
        Sayap.hp = 32000;
        Sayap.attackPoin = 67544;
        Sayap.walk();
       
        Sayap.name = "Phoenix";
        Sayap.hp = 45000;
        Sayap.attackPoin = 78780;
        Sayap.jump();
    }

}
#Output.java



Sumber :

Muhardian, A. (2022, Maret 13). Belajar Java OOP: Memahami Inheritance dan Method Overriding. Retrieved from Petani Kode: https://www.petanikode.com/java-oop-inheritance/

Moh. Shohibul Wafa, M. (2022). MODUL 3 – INHERITENCE. Jombang.

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال