Tinggalkan komentar

Abstract Class

Abstract class adalah class yang tidak bisa dibuat secara instan sebagaimana class pada umumnya. Abstract class harus di implementasikan pada class turunan dari class Abstract tersebut. Abstract class berisi berisi sebuah method abstract dan method default yang bisa di override pada class turunan. Tidak semua bahasa pemrograman yang mendukung OOP mempunyai abstract class dan abstract method Seperti halnya c++. Maka dalam contoh code program Abstract class c++ harus menggunakan Class biasa dan virtual method agar bisa di override pada class turunannya.
okelah cukup segitu ajaa teorinya, mending kita langsung aja pada contoh programnya…….

C#


namespace abstractclass_
{
class Program
{
public static void Main(string[] args)
{
Implementasi imple = new Implementasi();
string nama = "Imam Muslim";
string almt = "Banyuwangi";
string telp = "085655825555";
string NIM = "1111100798";
string Jurusan = "Teknik Informatika";
string Pekerjaan = "enterpreneur";
string penghasilan = "3juta/bulan";

imple.DataDiri(nama,almt,telp, Pekerjaan, penghasilan);
imple.Tambahan(nama,NIM,Jurusan,telp);

Console.ReadKey(true);
}
}
abstract class Abstract
{
public abstract void DataDiri(string nama,string almt,string tlp, string pekerjaan, string penghasilan);
public void Tambahan(string nama,string nim,string jur,string tlp)
{
Console.WriteLine("Data Pribadi)");
Console.WriteLine();
Console.WriteLine("Nama      : {0}",nama);
Console.WriteLine("NIM       : {0}",nim);
Console.WriteLine("Jurusan   : {0}",jur);
Console.WriteLine("No Telp   : {0}",tlp);
Console.WriteLine();
}
}

class Implementasi : Abstract
{
public override void DataDiri(string nama, string almt, string tlp, string pekerjaan, string penghasilan)
{
Console.WriteLine("(DATA Penting)");
Console.WriteLine();
Console.WriteLine("Nama      : {0}",nama);
Console.WriteLine("Alamat    : {0}",almt);
Console.WriteLine("No Telp   : {0}",tlp);
Console.WriteLine("pekerjaan   : {0}",pekerjaan);
Console.WriteLine("penghasilan   : {0}",penghasilan);
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Press any key to continue . . . ");
Console.ReadKey(true);
}

}
}
JAVA
package abstractclassjava;
/**
*
* @author imam
*/
public class Main {
public static void main(String[] args) {
Implementasi imple = new Implementasi();
String nama = "Imam Muslim";
String alamat = "Banyuwangi";
String telp = "085655825555";
String NIM = "1111100798";
String Jurusan = "Teknik Informatika";
String pekerjaan = "enterpreneur";
String penghasilan = "3juta/bulan";

imple.DataDiri(nama,alamat,telp,pekerjaan,penghasilan);
imple.Tambahan(nama,NIM,Jurusan,telp);
}
}
abstract class Abstract
{
public abstract void DataDiri(String nama,String almt,String tlp,String pekerjaan,String penghasilan);
public void Tambahan(String nama,String nim,String jur,String tlp)
{
System.out.println("(Data Diri)");
System.out.println();
System.out.println("Nama      : "+nama);
System.out.println("NIM       : "+nim);
System.out.println("Jurusan   : "+jur);
System.out.println("No Telp   : "+tlp);
System.out.println();
}
}

class Implementasi extends Abstract
{
@Override
public void DataDiri(String nama, String almt, String tlp, String pekerjaan, String penghasilan)
{
System.out.println("Data Tambahan");
System.out.println();
System.out.println("Nama      : "+nama);
System.out.println("Alamat    : "+almt);
System.out.println("No Telp   : "+tlp);
System.out.println("pekerjaan : "+pekerjaan);
System.out.println("penghasilan : "+penghasilan);
System.out.println();
}

}

 
C++
#include <iostream>
#include <cstdlib>
using namespace std;

int main()
{
class Abstract
{
public : virtual void DataDiri(string nama,string almt,string tlp,string pekerjaan,string penghasilan) = 0;
public : void Tambahan(string nama,string nim,string jur,string tlp)
{
cout<<"Data Pribadi"<<endl;
cout<<endl;
cout<<"Nama      : "<<nama<<endl;
cout<<"NIM       : "<<nim<<endl;
cout<<"Jurusan   : "<<jur<<endl;
cout<<"No Telp   : "<<tlp<<endl;
cout<<endl;
cout<<endl;
}
};

class Implementasi : public Abstract
{
public : void DataDiri(string nama, string almt, string tlp, string pekerjaan, string penghasilan)
{
cout<<"Tambahan"<<endl;
cout<<endl;
cout<<"Nama      : "<<nama<<endl;
cout<<"Alamat    : "<<almt<<endl;
cout<<"No Telp   : "<<tlp<<endl;
cout<<"Pekerjaan : "<<pekerjaan<<endl;
cout<<"penghasilan : "<<penghasilan<<endl;
cout<<endl;
}
};

Implementasi imple;

string nama = "Imam Muslim";
string almt = "Banyuwangi";
string telp = "085655825555";
string NIM = "1111100798";
string Jurusan = "Teknik Informatika";
string pekerjaan = "enterpreneur";
string penghasilan = "3juta/bulan";

imple.DataDiri(nama,almt,telp,pekerjaan,penghasilan);
imple.Tambahan(nama,NIM,Jurusan,telp);
system("PAUSE");
return EXIT_SUCCESS;

}


Tinggalkan komentar