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);
}
}
}
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