apa tu abstract class??
kek gini… coba bayangin laba-laba, belalang dan capung… pasti bisa kan???
lalu bayangkan Serangga.. apa yg ada di benak kalian.. kumbang bertanduk?? kumbang rusa?? ulat? kupu – kupu?

apapun yg anda bayangkan itu semua adalah turunan dari serangga dan bukan serangga itu sendiri..

“Serangga” dalam hal ini adalah nama klompok dari mahluk2 tersebut sehingga object nyatanya ga ada..

dalam OOP juga berlaku hal yang sama dimana ada class – class yang ga boleh dibuat objectnya.. dan dari sanalah abstract class muncul..

dalam abstract class terdapat Field, property dan method seperti class yg normal.. hanya saja memiliki tambahan yaitu abstract property dan abstract method (dimana keduanya wajib untuk di override)

Klo di buku yg q baca (Pemrograman Berorientasi Objek C#) class abstrak punya beberapa kegunaan antara lain

1. Menjadikan sebuah class sebagai poa/kontrak yang harus dipenuhi oleh class – class turunannya (jadi ga akan ada namanya lupa input :p karna klo lupa bakal error)

2. Mencegah adanya pembuatan object dari sebuah class pola tersebut

3. Membiarkan method/property yang masih belum diketahui implementasinya untuk tetap kosong (tanpa kode program) sekaligus mengharuskan setiap class turunan memberikan implementasinya (dengan cara menimpanya/override)

ok… skarang langsung aja bikin programnya

pertama buat tampilan kek gini

abstract class tampilan awal

perlu 1 button dan 2 listbox

ok bikin class baru namanya Serangga.cs

trus masukin kode ini

//==================================

namespace tentangAbstract
{
    public abstract class Serangga
    {
        public string kaki, terbang, beracun, sayap;
        public abstract void input();
        public void inputSayap()
        {
            sayap = “sayap empat biji”;
        }
    }
}
//=====================================
kode yg perlu diperhatikan adalah mulai dari public class  bla bla bla sampe abis..
nah “public abstract void input();” adalah method yg harus di overide setiap classnya..
method “inputSayap” cman sebagai pembuktian klo kita bisa input method/property normal bisa digunakan seperti biasa. field jg bisa.. (public string kaki, terbang, beracun, sayap;)
kedua bikin class “labalaba.cs” lalu masukin kode ini di dalem class
//==========================================
        public override void input()
        {
            // kode ini kluar sendiri waktu bikin class -_- jadi ga tau artinya
            //throw new NotImplementedException();
            //ini koding yg ditulis
            kaki = “delapan”;
            terbang = “tidak bisa terbang”;
            beracun = “beracun”;
        }
//===========================================
kemudian bikin satu class lg namanya class ehmm~~ “capung.cs
//=============================================
        public override void input()
        {
            //Kode ini kluar sendiri.. tp jangan dipake ya 😛 “throw new NotImplementedException();”
            //soalna variable kaki jadi error gara2 koding itu
            kaki = “enam”;
            terbang = “bisa terbang”;
            beracun = “tidak beracun”;
        }
//=============================================
klo dah beres semua tingga koding di bagian formnya aja…. doble klik Form1 (tempat kalian taro2 button dan listbox )
class abstract
dan masukin kode ini
//==============================================
        //input ini dulu ya
        labalaba LB = new labalaba();
        capung CP = new capung();
        private void Form1_Load(object sender, EventArgs e)
        {
            //lalu yg ini
            LB.input();
            CP.input();
            CP.inputSayap();
        }
//==============================================
Form1_Load akan me-Run apapun yg didalamnya ketika form1 aktif
doble klik button 1 lalu masukkan kode berikut
//================================================

listBox1.Items.Add(LB.kaki);
listBox1.Items.Add(LB.terbang);
listBox1.Items.Add(LB.beracun);

listBox2.Items.Add(CP.kaki);
listBox2.Items.Add(CP.terbang);
listBox2.Items.Add(CP.beracun);
listBox2.Items.Add(CP.sayap);

//================================================
button1 akan menampilkan data2 melalu listbox
coba di RUN..
lalu iseng coba salah satu class ga melakukan override dan lihat apakah error atau tidak
ngomong2 ini hasilnya setelah button1 di tekan
abstract class tampilan akhir
untuk program download disini terimakasih
Iklan