Abstract Class

Abstract class
2
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.
Kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya. Berikut ini aturan nya :
– Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
–  Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
– Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
– Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
Abstract Class 

Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurna-kanoleh kelas turunannya melalui override. Kelas seperti ini biasanya merupakan rootsuatu struktur kelas.Konsekuensi penggunaan sifat abstract :1.Tidak dapat dibuat constructor yang abstract.2.Tidak dapat dibuat method yang static dan abstract (kedua sifat salingkontradiktif).3.Tidak diijinkan membuat method yang private dan abstract (kedua sifat ini jugasaling Kontradiktif)

Abstrak Class

Kelas  abstrak  adalah  kelas  yang  terletak  pada  posisi  tertinggi  hierarki  kelas.
Kelas ini digunakan sebagai basis bagi penurunan kelas-kelas lainnnya, sehingga tidak dapat
diinstansiasi  secara  langsung  menjadi  objek.  Sebagai  kelas  basis  kelas  ini  hanya  berisi
variable-variable umum dan deklarasi method tanpa detail implementasi.
Selanjutnya, kelas-kelas yang diturunkan dari kelas abstraklah yang harus mendefinisikan secara detail method
tersebut. Abstract class adalah class yang di dalam terdapat fungsi abstract.

Fungsi abstract adalah fungsi tanpa implementasi, di mana dikarenakan sifatnya terlalu general sehingga tidak bisa diimplementasikan

Berikut Contoh yang Saya berikan Kedalam 3 Bahasa :

 Contoh Program C# terlebih dahulu
</div>
<div>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace OOP2_Widy_AbstractClass
{
class Program
{
public static void Main(string[] args)
{
implementasi wek = new implementasi();
string nama = "Ni Made Putri Widiastuti";
string ttl = "Banyuwangi, 22 April 1993";
string aktivitas = "Berolahraga";

wek.tes();
wek.met(nama,ttl,aktivitas);

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

abstract class pertama
{
public abstract void met(string nama, string ttl, string aktivitas);

public void tes()
{
Console.WriteLine("Biodata : Ni Made Putri Widiastuti STIKOM PGRI BANYUWANGI");
}
}
class implementasi : pertama
{
public override void met(string nama, string ttl, string aktivitas)
{
Console.WriteLine("Nama                         : {0}",nama);
Console.WriteLine("Tempat, Tanggal Lahir        : {0}",ttl);
Console.WriteLine("Aktivitas Terkini            : {0}",aktivitas);
}
}
}
Hasilnya Sebagai Berikut :
Capture6.1
Yang Selanjutnya Adlah Contoh Program yang telah di Implementasikan Kedalam Bahsa C++
</div>
<div>#include <cstdlib>
#include <iostream>

using namespace std;

class pertama
{
public : virtual void met(string nama, string ttl, string aktivitas) = 0;

public : void tes()
{
cout << "Biodata : Ni Made Putri Widiastuti STIKOM PGRI BANYUWANGI" << endl;
}
};
class implementasi : public pertama
{
public : void met(string nama, string ttl, string aktivitas)
{
cout << "Nama                   : "<<nama << endl;
cout << "Tempat, Tanggal Lahir  : "<< ttl << endl;
cout << "Aktivitas Terkini      : "<< aktivitas << endl;
}
};

int main(int argc, char *argv[])
{
implementasi wek;
string nama = "Ni Made Putri Widiastuti";
string ttl = "Banyuwangi, 22 April 1993";
string aktivitas = "Berolahraga";

wek.tes();
wek.met(nama,ttl,aktivitas);

cout << "Press any key to continue . . . " << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Hasilnya Adalah :
Capture6.2
Serta yang Terakhir adlah Dengan Menggunakan Program bahasa Java :
</div>
<div>package oop2_widy1_abstractclass;

import java.util.*;

public class Main
{
private static Scanner input = new Scanner(System.in);
static implementasi imp = new implementasi();
public static void main(String[] args)
{
implementasi wek = new implementasi();
String nama = "Ni Made Putri Widiastuti";
String ttl = "Banyuwangi, 22 April 1993";
String aktivitas = "Berolahraga";

wek.tes();
wek.met(nama,ttl,aktivitas);

System.out.println("Press any key to continue . . . ");
System.out.println();
}

}
abstract class pertama
{
public abstract void met(String nama, String ttl, String aktivitas);

public void tes()
{
System.out.println("Biodata :Ni Made Putri Widiastuti STIKOM PGRI BANYUWANGI");
}
}
class implementasi extends pertama
{
public void met(String nama, String ttl, String aktivitas)
{
System.out.println("Nama                    : "+nama);
System.out.println("Tempat, Tanggal Lahir   : "+ttl);
System.out.println("Aktivitas Terkini       : " +aktivitas);
}

}</div>
<div>
Hasilnya adalah Seperti yang Di Bawah Ini :
Capture6.3

7 responses to “Abstract Class

  1. wah… good job… and good luck buatpostingan slanjutnya

  2. Wapik pUol mbak bro

  3. salam knal y mbak. numpang copy ni program ya

  4. fine. I like (Y)

  5. bolEH mnta ajar gak mbk.. buat referensi gtu

  6. smart juga.. stikom.. (Y)

  7. hebatnya ! saya dari Malaysia boleh tak kita berkenalan untuk tanya lebih lanjut pasal java sebab saya tak faham

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