Polimorphism

Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class sendiri atau object dari superclassnya.

Kemampuan sebuah variabel reference untuk merubah behavior sesuai dengan apa yang dipunyai object.

Polymorphism membuat objek-objek yang berasal dari subclass yang berbeda, diperlakukan sebagai objek-objek dari satu superclass. Hal ini terjadi ketika memilih method yang sesuai untuk diimplementasikan ke objek tertentu berdasarkan pada subclass yang memiliki method bersangkutan.

Contoh Program Polymorph dalam C#


using System;

 namespace polymorph_t
 {
     class persegiPanjang
     {
         public int Luas(int a,int b)
         {
             Console.WriteLine("Luas Persegi Panjang");
             Console.WriteLine("Panjang = {0}",a);
             Console.WriteLine("Lebar = {0}",b);
             Console.WriteLine("Luas = Panjang x Lebar = {0} x {1} = {2}\n",a,b,(a*b));
             return a*b;
         }
         public double Keliling(double a, int b)
         {
             Console.WriteLine("Keliling Persegi Panjang");
             Console.WriteLine("Keliling = (2x(panjang+lebar)= " +
                               "(2*({0}+{1})={2}\n",a,b,(2*(a+b)));
             return (2*(a+b));
         }
     }
     class Pengurangan
     {
         public int luas_permukaanBalok(int a, int b)
         {
             Console.WriteLine("Luas Balok");
             Console.WriteLine("Luas Permukaan Balok = (2x(pxl)+(pxl)+(pxl)) = " +
                               "(2x({0}x{1})+({2}x{3})+({4}x{5}))={6}\n",a,b,a,b,a,b,(2*((a*b)+(a*b)+(a*b))));
             return (2*((a*b)+(a*b)+(a*b)));
         }
         public int kelilingBalok(int a, int b , int c)
         {
             Console.WriteLine("Panjang = {0}",a);
             Console.WriteLine("Lebar = {0}",b);
             Console.WriteLine("Tinggi = {0}\n",b);
             Console.WriteLine("Keliling Balok");
             Console.WriteLine("Keliling Balok=(4x(p+l+t)=" +
                               "(4x({0}+{1}+{2})={3}\n",a,b,c,(4*((a)+(b)+(c))));
             return (4*((a)+(b)+(c)));
         }
         public double volumeBalok(double e,int a,int b)
         {
             Console.WriteLine("Volume Balok");
             Console.WriteLine("Volume Balok=pxlxt={0}x{1}x{2}={3}",e,a,b,(e*a*b));
             return (e*a*b);
         }
     }
     class Program
     {
         public static void Main(string[] args)
         {
             Console.WriteLine("Polimorpish\n");
             Console.WriteLine("Rumus Persegi Panjang");
             persegiPanjang tari=new persegiPanjang();
             tari.Luas(10,10);
             tari.Keliling(10.5,5);

             Console.WriteLine("Rumus Balok");
             Pengurangan lestari=new Pengurangan();
             lestari.kelilingBalok(10,5,2);
             lestari.luas_permukaanBalok(10,5);
             lestari.volumeBalok(10.5,10,7);

             Console.Write("Press any key to continue . . . ");
             Console.ReadKey(true);
         }
     }

 }

Hasil Running:

polimorph(c#)

Contoh Program Polymorph dalam Java

</pre>
package polymorph;
/**
*
* @author tari
*/
class persegiPanjang
{
public int Luas(int a,int b)
{
System.out.println("Panjang = "+a);
System.out.println("Lebar = "+b);
System.out.println("Luas = Panjang x Lebar = "+a+" x "+b+" = "+(a*b));
return a*b;
}
public double Keliling(double a, int b)
{
System.out.println("Keliling = (2x(panjang+lebar) = (2x("+a+"+"+b+"))"+(2*(a+b)));
return (2*(a+b));
}
}
class Balok
{
public int kelilingBalok(int a, int b , int c)
{
System.out.println("Panjang = "+a);
System.out.println("Lebar = "+b);
System.out.println("Tinggi = "+b);
System.out.println("Keliling Balok = (4x(p+l+t) = (4x("+a+"+"+b+"+"+c+") = "+(4*((a)+(b)+(c))));
return (4*((a)+(b)+(c)));
}
public int luas_permukaanBalok(int a, int b)
{
System.out.println("Luas Permukaan Balok = (2x(pxl)+(pxl)+(pxl)) ="
+ " (2x ("+a+" x "+b+") + ("+a+" x "+b+") + ("+a+" x "+b+") = "
+ ""+(2*((a*b)+(a*b)+(a*b))));
return (2*((a*b)+(a*b)+(a*b)));
}

public double volumeBalok(double e,int a,int b)
{
System.out.println("Volume Balok = pxlxt ="+e+"x"+a+"x"+b+" = "+(e*a*b));
return (e*a*b);
}
}
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
System.out.println("Polimorpish");
System.out.println();
System.out.println("Rumus Persegi Panjang");
persegiPanjang tari=new persegiPanjang();
tari.Luas(10,10);
tari.Keliling(10,10);
System.out.println();
System.out.println("Rumus Balok");
Balok lestari=new Balok();
lestari.kelilingBalok(10,5,2);
lestari.luas_permukaanBalok(10,5);
lestari.volumeBalok(10,5,7);
}
}

Hasil Running :

polimorph(java)

Contoh Program Polymorph dalam C++


#include <iostream>

using namespace std;
class persegiPanjang
{
public :
int luas(int a,int b)
{
cout<<"Luas Persegi Panjang"<< endl;
cout<<"Panjang = " <<a<< endl;
cout<<"Lebar = " <<b<< endl;
cout<<"Luas = Panjang x Lebar = "<<a<<" x "<<b<<" = "<<(a*b)<< endl;
return a*b;
}
double keliling(double a, int b)
{
cout<<"Keliling = (2x(panjang+lebar)= (2*("<<a<<"+"<<b<<") = "<<(2*(a+b))<< endl;
return (2*(a+b));
}
};
class Balok
{
public :
int luas_permukaanBalok(int a, int b)
{
cout<<"Luas Permukaan Balok = (2x(pxl)+(pxl)+(pxl)) = (2x("<<a<<"x"<<b<<")+("<<a<<"x"<<b<<")+("<<a<<"x"<<b<<"))= "<<(2*((a*b)+(a*b)+(a*b)))<< endl;
return (2*((a*b)+(a*b)+(a*b)));
}
int kelilingBalok(int a, int b , int c)
{
cout<<"Panjang = "<<a<< endl;
cout<<"Lebar = "<<b<< endl;
cout<<"Tinggi = "<<b<< endl;
cout<<"Keliling Balok=(4x(p+l+t)=(4x("<<a<<"+"<<b<<"+"<<c<<") = "<<(4*((a)+(b)+(c)))<< endl;
return (4*((a)+(b)+(c)));
}
double volumeBalok(double e,int a,int b)
{
cout<<"Volume Balok=pxlxt="<<e<<"x"<<a<<"x"<<b<<" = "<<(e*a*b)<< endl;
return (e*a*b);
}
};
int main()
{
cout<<"Polimorpish"<< endl;
cout<<"Rumus Persegi Panjang"<< endl;
persegiPanjang tari;
tari.luas(10,10);
tari.keliling(10.5,5);

cout<<"Rumus Balok"<< endl;
Balok lestari;
lestari.kelilingBalok(10,5,2);
lestari.luas_permukaanBalok(10,5);
lestari.volumeBalok(10.5,10,7);
return 0;
}

Hasil Runnning:

polimorph(c++)

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