Ben ders kategorilerine sahip bir Ders Yönetim Sistemi oluşturmak zorunda:Birden fazla türetilmiş soyut sınıflar?
Cooking, sewing and writing courses
cooking
ve writing
her 2 kursları (İtalyan, deniz ürünleri, yaratıcı yazma ve iş yazma) var. Bu soyut türetilmiş oluşturur:
abstract course -> abstract cooking -> concrete seafood
soyut pişirme ve yazma ortak alanlar ve bazı ortak yöntemleri var, ancak bunlar da temel sınıfta soyut soyut yöntemler var.
Bu C# ile yapılabilir mi? Visual Studio'nun soyut sınıf yöntemlerini türetiyorsam, temel sınıf özünü gizlediklerini söylerler ve daha sonra somut sınıf yöntemlerinin taban sınıfının soyut olması gerektiğini söyleyen hatalar vardır (ancak kayıt olmamalıdır). Bir cevap aradım. Biliyorum tek miras C# kullanılır ama miras zincirini taşır. En iyi cevap nedir? İşte
bir kod parçacığı - ı sorunu düzeltmeye yardımcı olmuştur: Sana geçersiz kılmak istediğiniz soyut yöntemler üzerinde 'sanal' anahtar kelimesini kullanmak isteyeceğinizi düşünüyorum doğru anlamakpublic abstract class Course
{
public abstract void AddStudent(StudentName sn, int f);
public abstract decimal CalculateIncome();
}
public abstract class WritingCourse : Course
{
public void AddStudent(StudentName sn, int f)
{
//Add student
}
public abstract decimal CalculateIncome(); // can only be claculated in concrete
}
public class BusinessWritCourse : WritingCourse
{
public void AddStudent(StudentName sn, int f):
base(sn, false){}
public decimal CalculateIncome()
{
return //do stuff
}
}
public class SewingCourse : Course
{
public override void AddStudent(StudentName sn, int f)
{
//do stuff
}
public override decimal CalculateIncome()
{
return //do stuff
}
}
Eğer karşılaştığınız sorunları olan örnek kod gönderebilir miyim? –