Abstract class adalah sebuah class setengah jadi (abstrak) yang memuat/memiliki method dan atrribut. Abstract class sebenarnya adalah sebuah class, sehingga memiliki semua sifat dari class biasa (punya konstruktor). Hanya saja sifatnya masih abstrak, karena itu biasanya method kosong/belum di implementasikan. Namun Abstract class dapat mengimplementasikan method tersebut. Abstract class akan selalu menjadi superclass / hirarki tertinggi dari subclass-subclass-nya.

:: C# ::

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Abstrak_Class
{
    class Program
    {
        static void Main(string[] args)
        {
            Persegi_empat x = new Persegi_empat(9);
            int luas = x.hitungLuas();
            Console.WriteLine(luas);
            Console.Read();
        }
    }
    class Persegi_empat
    {
        int sisi;
        public Persegi_empat(int sisinya)
        {
            this.sisi = sisinya;
        }
        public int hitungLuas()
        {
            //method ini harus diberi implementasi
            int luas = sisi*sisi;
            return luas;
        }
    }
}


:: Java ::

package abstrak_class;
import java.util.*;
public abstract class Abstrak_Class {
    static Scanner input = new Scanner(System.in);
    public static void main(String[] args) {
        Persegi_empat x = new Persegi_empat(9);
        int luas = x.hitungLuas();
        System.out.println(luas);
    }
}
class Persegi_empat extends Abstrak_Class {
    int sisi;
    public Persegi_empat(int sisinya) {
    this.sisi = sisinya;
    }
    public int hitungLuas() {
        //method ini harus diberi implementasi
        int luas = sisi*sisi;
        return luas;
    }
}

:: C++ ::

#include <cstdlib>
#include <iostream>

using namespace std;
class Persegi_empat
    {
        int sisi;
        public : Persegi_empat(int sisinya)
        {
            sisi = sisinya;
        }
        public : int hitungLuas()
        {
            //method ini harus diberi implementasi
            int luas = sisi*sisi;
            return luas;
        }
    };
int main(int argc, char *argv[])
{
    Persegi_empat x(9);
    int luas = x.hitungLuas();
    cout<<luas<<endl;
    system("PAUSE");
    return EXIT_SUCCESS;
};