C# 中的基础 class 实现
base class implementation in C#
我正在尝试实现一个模型,以便基础 class 具有大约 5 个属性,派生的 class 将实现它所需要的。例如:
public class BaseClass
{
public int a{get;set;}
public int b{get;set;}
public int c{get;set;}
public int d{get;set;}
public int e{get;set;}
}
在派生的 classes 上我想要这样的东西:
public class DerivedClass: BaseClass
{
public override int a{get;set;}
public int derivedClass1 {get;set;}
}
public class DerivedClass1 :BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public int derivedClass1 {get;set;}
}
public class DerivedClass2 :BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public override int c{get;set;}
public int derivedClass2 {get;set;}
}
public class DerivedClass3:BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public override int c{get;set;}
public override int c{get;set;}
public int derivedClass3 {get;set;}
}
通过这样做,我需要实现所有基础 class 对象。有没有办法像这样
部分实现派生的 class
谢谢
使用virtual
关键字
public abstract class BaseClass
{
public virtual int a { get; set; }
public virtual int b { get; set; }
public virtual int c { get; set; }
public virtual int d { get; set; }
public virtual int e { get; set; }
}
以这种方式派生的 classes 将覆盖所需的属性,同时保持基础 class 其他
如果我理解了这个问题,您想有选择地重写基础 class 中属性的实现。
您可以使用 virtual
关键字:
public abstract class BaseClass
{
public virtual int a { get; set; }
public virtual int b { get; set; }
public virtual int c { get; set; }
public virtual int d { get; set; }
public virtual int e { get; set; }
}
以这种方式,您可以选择在派生的 classes:
中覆盖它
public class DerivedClass: BaseClass
{
public override int a { get; set; }
public int derivedClass1 { get; set; }
}
我正在尝试实现一个模型,以便基础 class 具有大约 5 个属性,派生的 class 将实现它所需要的。例如:
public class BaseClass
{
public int a{get;set;}
public int b{get;set;}
public int c{get;set;}
public int d{get;set;}
public int e{get;set;}
}
在派生的 classes 上我想要这样的东西:
public class DerivedClass: BaseClass
{
public override int a{get;set;}
public int derivedClass1 {get;set;}
}
public class DerivedClass1 :BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public int derivedClass1 {get;set;}
}
public class DerivedClass2 :BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public override int c{get;set;}
public int derivedClass2 {get;set;}
}
public class DerivedClass3:BaseClass
{
public override int a{get;set;}
public override int b{get;set;}
public override int c{get;set;}
public override int c{get;set;}
public int derivedClass3 {get;set;}
}
通过这样做,我需要实现所有基础 class 对象。有没有办法像这样
部分实现派生的 class谢谢
使用virtual
关键字
public abstract class BaseClass
{
public virtual int a { get; set; }
public virtual int b { get; set; }
public virtual int c { get; set; }
public virtual int d { get; set; }
public virtual int e { get; set; }
}
以这种方式派生的 classes 将覆盖所需的属性,同时保持基础 class 其他
如果我理解了这个问题,您想有选择地重写基础 class 中属性的实现。
您可以使用 virtual
关键字:
public abstract class BaseClass
{
public virtual int a { get; set; }
public virtual int b { get; set; }
public virtual int c { get; set; }
public virtual int d { get; set; }
public virtual int e { get; set; }
}
以这种方式,您可以选择在派生的 classes:
中覆盖它public class DerivedClass: BaseClass
{
public override int a { get; set; }
public int derivedClass1 { get; set; }
}