Selasa, 08 Oktober 2013

POLYMORPHISM



Polymorphism adalah konsep dimana beberapa object dapat memiliki metode yang sama dengan aksi yang berbeda. Hal ini mengakibatkan adanya kemampuan untuk sebuah objek untuk mengubah perilakunya sesuai dengan bagaimana itu digunakan. Dimana kelas obyek mewarisi dari kelas super atau mengimplementasikan satu atau lebih interface , dapat disebut dengan kelas atau interface nama-nama. Jadi jika kita memiliki metode yang mengharapkan sebuah objek dari tipe 'kendaraan' untuk diteruskan sebagai parameter, kita dapat melewati setiap kendaraan, mobil atau motor objek untuk metode yang meskipun tipe data mungkin secara teknis berbeda.

Dalam Polymorphism suatu object bisa bertindak lain terhadap message/method yang sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua class hewan berkaki dua dan hewan berkaki empat. Ketika hewan berkaki dua melakukan method makan maka yang dilakukan adalah makan dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia akan menggunakan mulutnya. Keduanya melakukan aksi yang sama yaitu makan akan tetapi perlakuannya lain.

Penggunaan prinsip polymorphism dapat dilihat pada contoh program dibawah ini :
using System;
namespace polymorphism
{
class Program
{
public static void Main(string[] args)
{
polymorph x = new polymorph();
x.Tes();
x.Tes(“belajar”);
x.Tes(“belajar”, “Matematika”);
Console.Write(“Press any key to continue . . . “);
Console.ReadKey(true);
}
}
class polymorph
{
public void Tes()
{
Console.WriteLine(“saya”);
}
public void Tes(string a)
{
Console.WriteLine(“saya {0}”, a);
}
public void Tes(string a, string b)
{
Console.WriteLine(“saya {0} {1}”, a, b);
}
}
}
namespace encapsulation
{
class coba
{
private int a;
private int b;
public int A // —> encapsulation
{
get { return a; }
set { a = value; }
}
public int B
{
get { return b; }
set { b = value; }
}
public int hasil()
{
return A + B;
}
}
class Program
{
public static void Main(string[] args)
{
coba x = new coba();
Console.Write(“nilai 1 = “);
x.A = int.Parse(Console.ReadLine());
Console.Write(“nilai 2 = “);
x.B = int.Parse(Console.ReadLine());
Console.WriteLine(“hasil jumlahnya adalah {0}”, x.hasil());
Console.Write(“Press any key to continue . . . “);
Console.ReadKey(true);
}
}
}
Dan ini hasilnya :

Tidak ada komentar:

Posting Komentar