Interface merupakan Class umum yang memuat definisi umum, yang akan digunakan sebagai rujukan bagi Class yang mengimplementasikan Class ini. Pada interface, method dan property yang didefinisikan belum ditentukan. Class yang menggunakan sebuah interface berarti terikat kontrak untuk mengimplementasikan semua method, property, maupun indexer dari interface tersebut.
Interface mempunyai kegunaan yang hampir sama dengan abstract class yang akan disampaikan dalam bagian lain bab ini, dengan perbedaan:
- Interface merupakan kontrak yang harus diikuti semua property/methodnya oleh class yang mengimplementasikannya. Sedangkan abstract Class tidak.
- Interface hanya mendefinisikan kerangka method dan property yang akan dipakai. Isi prosesnya akan diimplementasikan di Class. Abstract Class bisa mengandung definisi method/property, dan bisa pula mengandung proses implementasinya.
interface Interface1
{
void method1();
void method2();
string property1
{
set;
get;
}
}
Untuk mengimplementasikan Interface ini sama dengan melakukan inheritance pada class biasa, dan kemudian template property dan methodnya dengan melakukan klik kanan pada interface tersebut, pada contoh ini Interface1 , dan pilih menu Implement Interface. Dari hasil template yang dihasilkan seperti kode di bawah, masukkan kode proses yang diinginkan.
class ClassIInterface : Interface1
{
// #region Interface1 Members
void Interface1.method1()
{
throw new Exception("The method or operation is not implemented.");
}
void Interface1.method2()
{
throw new Exception("The method or operation is not implemented.");
}
string Interface1.property1
{
get
{
throw new Exception("The method or operation is not implemented.");
}
set
{
throw new Exception("The method or operation is not implemented.");
}
}
// #endregion
}
No comments:
Post a Comment