002. Abstract Class

Abstract Class merupakan Class yang khusus dibuat untuk keperluan inheritance. Tujuan dari pembuatan abstract class ini ialah untuk membuat definisi umum bagi class-class yang akan menjadi turunan darinya.

Untuk membuatnya kita cukup menambahkan keyword abstract di depan class yang kita definisikan.

abstract class ClassBasis

{

}

Definisi umum ini bisa jadi sudah mempunyai method yang dibuat khusus untuk diturunkan.

abstract class ClassBasis

{

public void method1(ref string s)

{
s = "this is a sample of method";
}

}

Abstract class bisa juga mempunyai sebuah abstract method, yang baru dibuatkan method implementasinya di class turunan.

abstract class ClassBasis
{ public abstract void method2(ref string s);
}

Abstract Class tidak bisa diinstansiasi. Abstract method tidak mempunyai implementasi, sehingga penulisannya dilakukan hanya dengan mengikutkan semikolon, bukan blok method {} seperti biasanya. Abstract method ini bisa digunakan oleh Class turunannya dengan melakukan override.

class ChildBasis : ClassBasis

{

public override void method2(ref string s)
{

s = "this is a child implement method";

}

}

Pada class turunan dari abstract class, melalui IDE VS2005 kita bisa membuat implementasi methodnya dengan mengarahkan kursor pada nama class di belakang class turunan, dan memilih menu implements Abstract Class, sehingga abstract method di Class Induk akan ditulis secara otomatis template-nya di Class turunan.

template kode yang dihasilkan akan memudahkan penulisan implementasi yang kita inginkan, seperti di bawah ini:

class TBasis : ClassBasis

{

public override void method2(ref string s)

{

throw new Exception("The method or operation is not implemented.");

}

}


No comments:

Post a Comment