C# da Abstract Class Kullanimi
Sal覺, 06 Tem 2010
yorum yok
Projelerinizde sabit yapilar (method,field vb. imzalari) tasarlayip bunu kullaniciya sunabilirsiniz. Bu sekilde kullanicilara olusturdugunuz yapilara uyma kolayligi (zorunlulugu) getirebilirsiniz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace AbstractClassSamples
{
abstract class AbstractSinif
{
abstract public void KullaniciEkle(int userID, string adi, string soyadi);
abstract public string KullaniciAdiGetir(int userID);
abstract public int userIdGetir
{
get;
set;
}
public string KullaniciAdiniBuyukHarfeCevir(string adi)
{
return adi.ToUpper();
}
public static string ogrenciAdi="";
}
}
1- Abstract Classlar yazilirken abstract class AbstractSinif seklinde abstract kelimesi class basina eklenir.
2- Abstract Class i癟erisinde method yapilari tasarlayabilirsiniz. En b羹y羹k ama癟 budur.
Prosed羹r >> abstract public void KullaniciEkle(int userID, string adi, string soyadi);
Fonksiyon >> abstract public string KullaniciAdiGetir(int userID);
zellik >> abstract public int userIdGetir
{
get;
set;
}
Dikkat ederseniz methodlarin basina yine abstract kelimesi eklenmekte ve methoda ait yapi(imza) tasarlanmistir.
3- Abstract Class i癟erisinde isterseniz normal(tamamlanmis) methodlar da tanimlayabilirsiniz.
public string KullaniciAdiniBuyukHarfeCevir(string adi)
{
return adi.ToUpper();
}
4- Abstract Classlar i癟erisinde degiskenler de tanimlayabilirsiniz.
public static string ogrenciAdi="";
Abstract Classlarin Kullanimi
Abstract Classlar ancak miras verme y繹ntemiyle kullanilabilirler. Yani normal bir classi 癟agirir gibi kullanamazsiniz.
Asagida Abstract bir sinifin miras verme y繹ntemiyle kullanimi g繹sterilmistir.
Implement Abstract Class Se癟enegi se癟ildikten sonra sonu癟 asagidaki gibi olacaktir.
| using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace WindowsFormsApplication7 { class Class10:AbstractSinif { public override void KullaniciEkle(int userID, string adi, string soyadi) { throw new NotImplementedException(); //buraya istediginiz gibi kodlar ekleyebilirsiniz... } public override string KullaniciAdiGetir(int userID) { throw new NotImplementedException(); //buraya istediginiz gibi kodlar ekleyebilirsiniz... } public override int userIdGetir { get { throw new NotImplementedException(); //buraya istediginiz gibi kodlar ekleyebilirsiniz... } set { throw new NotImplementedException(); //buraya istediginiz gibi kodlar ekleyebilirsiniz... } } } } |