Laman

Senin, 18 Mei 2015

Inheritance, Harta Warisan Sang Nenek Moyang Program

Heyy... Kawan semua, kali ini kita akan ngobrol-ngobrol lagi. Kali ini masih tentang pemrograman object oriented. Apanya yang dibahas lagi? Inheritance.

Tahu kan apa itu class dan object? Ternyata harta kekayaan sebuah class yang berupa property, method dan berbagai proses di dalam class itu bisa diwariskan kepada class lain yang lebih baru (pembuatannya).

Apa fungsinya? Tentu saja bisa menghemat waktu. Bayangkan ada 43 method dalam class A, kita butuh 38 method yang sama dengan sebagian method di class A untuk ditempatkan di class B. Nggak mungkin ditulis ulang kali ya?? Dicopast juga menuhin tempat aja kan? Pakai alias juga masih tetep ribet.

Kita suruh saja si class A mewariskan semua method dan propertinya kepada class B. Nanti di class B sendiri kita bisa pilih-pilih mana method yang kita perlukan, bisa langsung dipakai dengan fungsi persis ketika dijalankan di class A tanpa coding ulang ataupun alias.

Pada contoh kali ini, kita akam menggunakan analogi antara seorang mbah yang mewariskan Emas 24 karat kepada cucunya. Sedangkan cucunya telah memiliki mobil sport mewah. Tapi setelah proses inheritance, apa saja benda kekayaan sang cucu?

-C#
using System;

namespace OOP2Inheritance
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            cucu c = new cucu();
            c.punyacucu();
        }
    }

    public class mbah
    {
        public void punyambah()
        {
            string benda;
            benda = "Emas 24 Karat";

            Console.WriteLine ("Barang Berharga Saya " + benda);
        }
    }

    public class cucu : mbah
    {
        public void punyacucu()
        {
            string benda;
            benda = "Mobil Sport Mewah";

            this.punyambah ();

            Console.WriteLine ("Barang Berharga Saya " + benda);
        }
    }
}
- C++
#include <iostream>

using namespace std;

class mbah
{
    public:

    void punyambah()
    {
        string benda;
        benda = "Emas Murni 24 Karat";

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

class cucu : mbah
{
    public :

    void punyacucu()
    {
        string benda;
        benda = "Mobil Sport Mewah";

        punyambah();

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

int main()
{
    cucu c;
    c.punyacucu();

    return 0;
}
- Java
#include <iostream>

using namespace std;

class mbah
{
    public:

    void punyambah()
    {
        string benda;
        benda = "Emas Murni 24 Karat";

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

class cucu : mbah
{
    public :

    void punyacucu()
    {
        string benda;
        benda = "Mobil Sport Mewah";

        punyambah();

        cout<<"Benda Berhargaku "<<benda<<endl;
    }
};

int main()
{
    cucu c;
    c.punyacucu();

    return 0;
}
Kemudian menampilkan hasil sebagai berikut :

Pada kasus yang lebih real, seperti yang sudah disebutkan sebelumnya, bisa jadi class mbah berisi 80-an method baik berupa fucntion maupun procedure. Ketika class cucu membuthukan 80 method, tidak perlu copy paste sehingga boros catatan, maka bisa dibuat mbah mewariskan 80 methodnya dan semua properti.

Inheritance sangat membantu dalam pemrograman berbasis object oriented dan memang menjadi salah satu komponen penting dalam metode pemrograman berbasis object oriented.

Tidak ada komentar: