Aşagıdaki kod Abstract ve virtual farkını ortaya koyuyor; eger Urun sınıfındaki kdvhesaplayı abstract yaparsak cogu urunde %18 olan degeri her yeni urun sınıfından turuyen urunde hesaplatmak zorunda kalıcaktık ama virtual yaparak temel sınıfdakini kullanabildik playerde oldugu gibi. Kısaca kesin olarak uzerine yazılmasını istediginiz metodları Abstract olarak işaretleyin istege baglı olanlarıda virtual.
using System; using System.Collections.Generic; using System.Linq; using System.Text;
namespace Urun_Virtual_Ornek {
public class Urun {
public double Fiyat { get; set; } public string Isim { get; set; } public double KdvliFiyat {get;set;}
public Urun(string ismi, double fiyati) {
Fiyat = fiyati; Isim = ismi;
}
public virtual double KdvHesabla() {
return KdvliFiyat = Fiyat + Fiyat * 0.18;
}
}
public class Tv : Urun {
public string KacEkran { get; set; } public bool Hdvarmi { get; set; }
Tv televizyon = new Tv("21", true, "LG", 800d); MuzikSeti muzikseti = new MuzikSeti(35, false, "DIANA", 1000); Player player = new Player(15, true, "NextStar", 50);