Laman

Senin, 18 Mei 2015

Overriding, Solusi Galau ketika Inheritance bertemu Pholimorphism

Heeeyy.. Selamat datang kembali kawan pembaca. Kali ini kita akan ngobrolin Overriding di dalam pemrograman metode pemrograman object oriented. Kali ini kita anggap bahwa kita sudah semakin pintar dan paham apa itu Inheritance dan Pholimorphism.

Ternyata di saat-saat tertentu keduanya bertemu dalam satu program dan membuat kita semakin puyeng. Tapi ternyata dengan memahami Overriding, kita tidak akan puyeng lagi menemukan si Pholimorphism dangan Inheritance.



Langsung saja, bagaimana kita menerapkan Overriding terhadap Pholimorphism dan Inheritance dalam codingnya, berikut contohnya :

-C#
using System;

namespace OOP2Overridingku
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            ahliwar a = new ahliwar ();

            a.warna ();
        }
    }

    public class pewaris
    {
        public virtual void bentuk()
        {
            string bentuknya;

            bentuknya = "kotak";

            Console.WriteLine ("Bentuknya "+bentuknya);
        }
    }

    public class ahliwar : pewaris
    {
        public override void bentuk()
        {
            string bentuknya;

            bentuknya = "limas";

            Console.WriteLine ("Bentuknya "+bentuknya);
        }

        public void warna()
        {
            string warnanya;

            this.bentuk ();

            warnanya = "kuning";

            Console.WriteLine ("Warnanya "+warnanya);
        }
    }
}

-C++
#include <iostream>

using namespace std;

class pewaris
{
    public:

    virtual void bentuk()
    {
        string bentuknya;
        bentuknya = "Kotak";

        cout<<"Bentuknya "<<bentuknya<<endl;
    }
};

class ahliwar : public pewaris
{
    public :

    void bentuk()
    {
        string bentuknya;
        bentuknya = "Kerucut";

        cout<<"Bentuknya "<<bentuknya<<endl;
    }

    void warna()
    {
        string warnanya;
        warnanya = "Merah";

        bentuk();

        cout<<"Warnanya "<<warnanya<<endl;
    }
};


int main()
{
    ahliwar a;

    a.warna();

    return 0;
}

- Java
 public class overriding
{

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        ahliwaris w = new ahliwaris();
       
        w.warna();
    }
}

class pewaris
{
    public void bentuk()
    {
        String bentuk;
       
        bentuk = "Panjang";
        System.out.print("Bentuknya "+bentuk);
    }
}

class ahliwaris extends pewaris
{
    @Override
    public void bentuk()
    {
        String bentuk;
       
        bentuk = "Kotak Panjang";
        System.out.println("Bentuknya "+bentuk);
    }
   
    public void warna()
    {
        String warna;
       
        this.bentuk();
       
        warna = "Merah";
        System.out.println("Warnanya "+warna);
    }
   
}
Kurang lebih tampilan yang dikeluarkan akan seperti gambar berikut :


Overriding di atas telah berhasil menemukan sifat penurunan class inheritance dan banyak kembaran methode Pholimorphism.

Tidak ada komentar: