Tugas Minggu 4 - Alpro 2 - SI UNIPDU

 INHERITENCE DALAM BAHASA JAVA


A. Pengertian Inherintence
    Di Java, istilah inheritance mengacu pada adopsi semua properti non-privat dan metode dari satu kelas (superclass) oleh kelas lain (subclass). Inheritance adalah cara membuat salinan kelas yang sudah ada sebagai titik awal untuk kelas yang lain. Selain istilah ‘subclass’, kelas inheritance juga disebut kelas turunan.

B. Perbedaan Inheritence dengan Interface

    Pada titik ini, Kita perlu untuk membedakan inheritance dan interface. Interface atau antarmuka hanya mendefinisikan struktur anggota kelas sementara kelas yang diwariskan menyertakan kode kelas super yang sebenarnya. Selain itu, inheritance atau lebih tepatnya disebut juga sebagai definisi subclass menggunakan kata kunci extends dalam deklarasi subclass.

Persyaratan ketika ingin menggunakan Inheritence dalam Program Java

1. Class

Class atau kelas adalah sekelompok objek yang memiliki properti umum. Ini adalah templat atau cetak biru dari mana objek dibuat.

2. Subclass / Child Class

Subclass atau Child Class adalah kelas yang mewarisi kelas lain. Ini juga disebut kelas turunan, kelas diperpanjang, atau kelas anak.

3. Super Class / Parent Class

Superclass adalah kelas tempat subkelas mewarisi fitur. Ini juga disebut kelas dasar atau kelas induk.

4. Usabilitas

Sesuai namanya, usabilitas adalah mekanisme yang memfasilitasi Anda untuk menggunakan kembali kolom dan metode kelas yang ada saat Anda membuat kelas baru. Anda dapat menggunakan kolom dan metode yang sama yang telah ditentukan di kelas sebelumnya.


Contoh Program Java Inheritence, Diumpamakan Dalam Bentuk Program Bangun Datar

1. Class Bangun Datar(Superclass)


public class BangunDatar {
    
    //Deklarasi Variabel
    float luas, keliling;
    
    float luas(){
        System.out.println("Menghitung luas bangun datar");
        return 0;
    }
    
    float keliling(){
        System.out.println("Menghitung keliling bangun datar");
        return 0;
    }
}
2. Class untuk Persegi(Subclass)


public class ClassPersegi extends BangunDatar {
    int panjang = 4;
    int lebar = 4;
    int sisi;
    
    @Override
    float luas(){
      return this.sisi * this.sisi;
    }
    
    @Override
    float keliling(){
      return this.panjang * this.lebar;
    }
}
3. Class untuk Lingkaran(Subclass)


public class ClassLingkaran extends BangunDatar {
    float r;
    double phi = 3.14;
    
    @Override
    float luas(){
    return (float) (phi * this.r * this.r);
    }
    
    @Override
    float keliling(){
    return (float) (2 * phi * this.r);
    }
}


4. Class untuk Persegi Panjang(Subclass)


public class ClassPersegiPanjang extends BangunDatar {
    int panjang;
    int lebar;
    
    @Override
    float luas(){
        return this.panjang * this.lebar;
    }
    
    @Override
    float keliling(){
        return (float) (2 * this.panjang + this.lebar);
    }
}
5. Class untuk Segitiga(Subclass)

public class ClassSegitiga extends BangunDatar {
    float alas;
    float tinggi;
    int sisi;
    
    @Override
    float luas(){
        return (float) (0.5 * this.alas * this.tinggi);
    }
    
    @Override
    float keliling(){
        return this.sisi * this.sisi * this.sisi;
    }
}


6. Class Main

public class ClassMain {
    public static void main(String args[]){
        
        // Objek Bangun Datar
        BangunDatar bangunDatar = new BangunDatar();
        
        // Objek Persegi
        ClassPersegi persegi = new ClassPersegi();
        persegi.sisi = 2;
        
        // Objek Lingkaran
        ClassLingkaran lingkaran = new ClassLingkaran();
        lingkaran.r = 22;
        
        // Objek Persegi Panjang
        ClassPersegiPanjang persegiPanjang = new ClassPersegiPanjang();
        persegiPanjang.panjang = 8;
        persegiPanjang.lebar = 4;
        
        // Objek Segitiga
        ClassSegitiga segitiga = new ClassSegitiga();
        segitiga.alas = 12;
        segitiga.tinggi = 8;
        segitiga.sisi = 5;
        
        
        // Calling method
        bangunDatar.luas();
        bangunDatar.keliling();
        System.out.println("----------------------------------------------------");
        
        persegi.luas();
        persegi.keliling();
        System.out.println("Hasil luas persegi : "+persegi.luas());
        System.out.println("Hasil keliling persegi : "+persegi.keliling());
        System.out.println();
        
        lingkaran.luas();
        lingkaran.keliling();
        System.out.println("Hasil luas lingkaran : "+lingkaran.luas());
        System.out.println("Hasil keliling lingkaran : "+lingkaran.keliling());
        System.out.println();
        
        persegiPanjang.luas();
        persegiPanjang.keliling();
        System.out.println("Hasil luas persegi panjang : "+persegiPanjang.luas());
        System.out.println("Hasil keliling persegi panjang : "+persegiPanjang.keliling());
        System.out.println();
        
        segitiga.luas();
        segitiga.keliling();
        System.out.println("Hasil luas segitiga : "+segitiga.luas());
        System.out.println("Hasil keliling segitiga : "+segitiga.keliling());
    }
}

Komentar

Postingan populer dari blog ini

Tugas 13 - Alpro 1 - SI UNIPDU