Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/ di-extends, maka subclass harus mengimplementasikan semua method abstract pada parent/ base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class.
contoh dalan c#
/*
* Created by SharpDevelop.
* User: berna
* Date: 24/06/2013
* Time: 8:17
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
namespace abstracclaass
{
class Program
{
public static void Main(string[] args)
{
Implementasi imple = new Implementasi();
string nama = "mas boby";
string almt = "Banyuwangi";
string telp = "087857221852";
string NIM = "1111100788";
string Jurusan = "Teknik Informatika";
string Pekerjaan = "petani";
string penghasilan = "1juta/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);
}
}
}
package abstarkklass;
/**
*
* @author berna
*/
public class Main {
public static void main(String[] args) {
Implementasi imple = new Implementasi();
String nama = "Mas boby";
String alamat = "Banyuwangi";
String telp = "087857221852";
String NIM = "1111100788";
String Jurusan = "Teknik Informatika";
String pekerjaan = "petani";
String penghasilan = "1juta/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();
}
}
#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 = "Mas boby";
string almt = "Banyuwangi";
string telp = "087857221852";
string NIM = "1111100788";
string Jurusan = "Teknik Informatika";
string pekerjaan = "petani";
string penghasilan = "1juta/bulan";
imple.DataDiri(nama,almt,telp,pekerjaan,penghasilan);
imple.Tambahan(nama,NIM,Jurusan,telp);
system("PAUSE");
return EXIT_SUCCESS;
}


