Polimorfisme In C#

Lanjuut….

Setelah kita memahami apa itu Inheritance, saatnya kita mengenal apa itu polimorfisme. Polimorfisme ini sangat berkaitan erat dengan postingan yang kemarin yaitu Inheritance. Polimorfisme sendiri berarti banyak bentuk, dimana Polimorfisme ini menyediakan multiobject dari subclass yang berbeda untuk diperlakukan sebagai object dari superclass tunggal, sehingga secara otomatis menunjuk method yang tepat untuk menggunakannya ke particular object berdasar subclass yang termasuk di dalamnya.

Untuk contoh kali ini, kita akan menggunakan contoh dari postingan kemarin “Inheritance” karena antara Inheritance dan Polimorfisme sangat berkaitan erat.

Langsung saja kawan-kawan buat class baru dan ketikkan source berikut.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Inheritance
{
    class Program
    {
        static void Main(string[] args)
        {
            //inheritance
            //Console.WriteLine("Inheritance");
            //Mobil mobil = new Mobil();
            //Motor motor = new Motor();
            //Perahu perahu = new Perahu();
            //Pesawat pesawat = new Pesawat();

            //perahu.Melaju();
            //perahu.Warna = "Hijau";
            //perahu.Kecepatan = 30;
            //perahu.JumlahRoda = 0;
            //Console.WriteLine("Warna Perahu :{0} ", perahu.Warna);
            //Console.WriteLine("Kecepatan Perahu :{0} ", perahu.Kecepatan);
            //Console.WriteLine("Jumlah roda Perahu :{0} ", perahu.JumlahRoda);
            //Console.WriteLine("---------------------");

            //mobil.Melaju();
            //Console.WriteLine("Warna Mobil :{0} ", mobil.Warna);
            //Console.WriteLine("Kecepatan Mobil :{0} ", mobil.Kecepatan);
            //Console.WriteLine("Jumlah roda Mobil :{0} ", mobil.JumlahRoda);
            //Console.WriteLine("---------------------");

            //motor.Melaju();
            //Console.WriteLine("Warna Motor :{0} ", motor.Warna);
            //Console.WriteLine("Kecepatan Motor :{0} ", motor.Kecepatan);
            //Console.WriteLine("Jumlah roda Motor :{0} ", motor.JumlahRoda);
            //Console.WriteLine("---------------------");

            //pesawat.Melaju();
            //Console.WriteLine("Warna Pesawat :{0} ", pesawat.Warna);
            //Console.WriteLine("Kecepatan Pesawat :{0} ", pesawat.Kecepatan);
            //Console.WriteLine("Jumlah roda Pesawat :{0} ", pesawat.JumlahRoda);

            //polimorfisme
            Console.WriteLine("\nPolimorfisme");
            Kendaraan[] kendaraan = new Kendaraan[4];
            kendaraan[0] = new Mobil();
            kendaraan[1] = new Motor();
            kendaraan[2] = new Perahu();
            kendaraan[3] = new Pesawat();

            for (int i = 0; i < kendaraan.Length; i++)
            {
                if (kendaraan[i] is Perahu)
                {
                    (kendaraan[i] as Perahu).Berlayar();
                }
                else
                {
                    kendaraan[i].Melaju();
                }
            }

            Console.ReadKey();
        }
    }
}

Jalankan program kawan-kawan.

4-20-2013 2-08-04 AM

Keyword is : digunakan untuk mengecek apakah sebuah objek merupakan class tertentu atau bukan dan mengecek apakah objek tersebut merupakan turunan dari class tertentu atau tidak. Keyword ini akan mereturn false/true.

Keyword as : digunakan untuk memberitahukan bahwa objek yang sedang kita gunakan (kendaraan[2]) adalah objek dari class turunan (Perahu).

Gimana kawan-kawan, sudah paham antara Inheritance dan Polimorfisme ?. Kalau masih ada yang mengganjal dihati silahkan corat-coret dibawah Smile with tongue out.

Sayounara …

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s