Lab Activity 5. Polymorphism


public class Dog

{

    private String nama;

   

    public Dog(String nama)

    {

        this.nama = nama;

    }

   

    public boolean equals(Object objectLain)

    {

        if (this == objectLain) {

        return true;

    }

    if (objectLain == null || getClass() != objectLain.getClass()) {

        return false;

    }

    Dog dogLain = (Dog) objectLain;

    return nama.equals(dogLain.nama);

    }

   

    public static void main(String[] args)

    {

        Dog d1 = new Dog("Rufus");

        Dog d2 = new Dog("Sally");

        Dog d3 = new Dog("Rufus");

        Dog d4 = d3;

        System.out.println(d1.equals(d2));

        System.out.println(d2.equals(d3));

        System.out.println(d1.equals(d3));

        System.out.println(d3.equals(d4)); 

    }

}


public class RekeningBank

{

private String nomorRekening;

private double saldo;

 

public RekeningBank(String nomorRekening, double saldo)

{

    this.nomorRekening = nomorRekening;

    this.saldo = saldo;

}

 

public String getNomorRekening()

{

    return nomorRekening;

}

 

public double getSaldo()

{

    return saldo;

}

 

public String toString()

{

    return nomorRekening + ", " + saldo;

}

 

public boolean equals(Object obj)

{

    if (obj instanceof RekeningBank) {

        RekeningBank rekening = (RekeningBank) obj;

        if (nomorRekening.equals(rekening.getNomorRekening()) && saldo == rekening.getSaldo()) {

            return true;

        }

    }

    return false;

}

 

public static void main(String[] args)

{

    RekeningBank rek1 = new RekeningBank("102345", 1500000);

    RekeningBank rek2 = new RekeningBank("234567", 1500000);

    RekeningBank rek3 = new RekeningBank("102345", 1500000);

    System.out.println(rek1);

    System.out.println(rek1.equals(rek2));

    System.out.println(rek1.equals(rek3));

}

}



public class UjiBangun

{

    public static void main(String[] args)

    {

        // Buat array empat elemen bertipe Bangun.

        Bangun[] obj = new Bangun[4];

       

        // Isi array dengan object-object berupa subclass dari Bangun.

        obj[0] = new PersegiPanjang(7.5, 5.0);

        obj[1] = new Lingkaran(4.5);

        obj[2] = new BujurSangkar(12.5);

        obj[3] = new SegitigaSiku(10.0, 7.5);

 

        // Cetak Daftar Bangun

        System.out.println("Daftar Bangun:");

 

        // Loop untuk mencetak informasi setiap object

        for (

int i = 0; i < obj.length; i++

)

        {

            System.out.println();

            // Cetak Judul nomor bangun.

            System.out.println("Bangun " + (i + 1) + ": ");

            // Cetak luas bangun

            System.out.println(

"Luas = " + obj[i].getLuas()

);

            System.out.print("Jenis: ");

 

            // Statement if untuk menguji class dari setiap object

            // dan menampilkan informasi setiap object.

           

            // Case 1: Jika object adalah dari class PersegiPanjang

            if (

obj[i] instanceof PersegiPanjang

)

            {

                // Cetak Persegi Panjang

                System.out.println("Persegi Panjang");

                // Casting ke tipe PersegiPanjang

                PersegiPanjang p =

(PersegiPanjang) obj[i];

 

                // Cetak panjang dan lebar

                System.out.println(

"panjang = " + p.getPanjang() + ", lebar= " + p.getLebar()

);

            }

            // Case 2: Jika object adalah dari class BujurSangkar

            else if (

 obj[i] instanceof BujurSangkar

)

            {

                // Cetak Bujur Sangkar

                System.out.println("Bujur Sangkar");

                // Casting ke tipe BujurSangkar

                BujurSangkar b =

(BujurSangkar) obj[i];

 

                // Cetak sisi

                System.out.println(

"sisi = " + b.getPanjang()

);               

            }

            // Case 3: Jika object adalah dari class Lingkaran

            else if (

obj[i] instanceof Lingkaran

)

            {

                // Cetak Lingkaran

                System.out.println("Lingkaran");

                // Casting ke tipe Lingkaran

                Lingkaran l =

(Lingkaran) obj[i];

 

                // Cetak radius

                System.out.println(

"radius = " + l.getRadius()

);

            }

            // Case 4: Jika object adalah dari class SegitigaSiku

            else if (

obj[i] instanceof SegitigaSiku

)

            {

                // Cetak Segitiga Siku

                System.out.println("Segitiga Siku");

                // Casting ke tipe SegitigaSiku

                SegitigaSiku s =

(SegitigaSiku) obj[i];

 

                // Cetak alas dan tinggi

                System.out.println(

"alas = " + s.getAlas() + ", tinggi = " + s.getTinggi()

);

            }

        }

    }   

}


public class InterfacePolymorphism

{

  public static void main(String[] args)

  {

    BarangRitel[] produk = new BarangRitel[4];

    produk[0] = new CompactDisc("07 Des", "Sheila on 7", 50000);

    produk[1] = new CompactDisc("Let It Be", "Beatles", 75000);

    produk[2] = new DVD("Avengers: Endgame", 181, 200000);

    produk[3] = new DVD("The Raid", 101, 185000);

 

    // Loop untuk mencetak informasi setiap object

    for (

BarangRitel p : produk

)

    {

       // Cetak Nama Produk

       System.out.print(

"Nama: " + p.getNamaProduk()

);

       // Cetak Harga Ritel

       System.out.printf(

", Harga: Rp%,.2f\n", p.getHargaRitel()

);

    }   

}


Comments