|
VIRTUAL ve ORVERRIDE METODLARI
Virtual metodu kalitim alinan bir classtaki bir metodu ismini ana classta da kullanmamiza olanak saglar. Tabi bunun için kalitim verilecek class ta tanimlamanin yapilmasi gerekir. Override metodu ise kalitim alan sinifta tanimlamayi saglar.
Simdi de classta virtual metodunu nasil kullandigimizi görelim .
using System.Linq;
using System.Text;
namespace WindowsFormsApplication22
{
class yazlar
{
public virtual string cumle(string metin)
{
return metin.ToLower();
}
}
}
Virtual la tanimlanan bir metod çagrilirken gene classlarda oldugu gibi yavru degisken tanimlanarak çagrilirlar.
private void button1_Click(object sender, EventArgs e)
{
yazlar yeni = new yazlar();
MessageBox.Show(yeni.cumle("TOLGA AYAS"));
}
Gelen string ifadenin küçük harflerle geldigini göreceksiniz. Simdi de miras verilen classta nasil tanimlama yapilir onu görelim;
using System.Linq;
using System.Text;
namespace WindowsFormsApplication22
{
class yazlar
{
public virtual string cumle(string metin)
{
return metin.ToLower();
}
}
class yazilar2:yazlar
{
public override string cumle(string metin)
{
return base.cumle(metin).ToUpper();
}
}
}
Bu islemden sonrada tekrar bir yavru degisken olusturup metodumuzu çagiralim.
private void button1_Click(object sender, EventArgs e)
{
yazilar2 yeni2 = new yazilar2();
MessageBox.Show(yeni2.cumle("tolga ayas"));
}
Dönen string ifadenin büyük harflerle geldigini göreceksiniz.
|