我有一个抽象类Animal,其中的类继承了该类的变量.例如,Name字符串将包含该类所代表的动物的名称.
我的问题是,我可以要求在子构造函数中初始化这些变量吗?我想确保Cat.cs,Dog.cs等实际存储一个名称.我相信我可以创建一个虚拟的Start()或Awake()方法,但这只能确保Name字符串中包含某些内容,而不是动物的实际名称.
如果您将此构造函数添加到基Animal类:
public abstract class Animal
{
protected Animal(string name)
{
this.Name = name;
}
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
从它派生的任何类型都需要将该参数提供给构造函数:
public class Dog : Animal
{
public Dog(string name) : base(name)
{
}
}
Run Code Online (Sandbox Code Playgroud)
请参阅MSDN
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |