8 c#
由于抽象类无法初始化,为什么允许构造函数?
我想,Incase我需要将信息传递给基类(这个类中的抽象类),我需要有构造函数.我的意思是
abstract class Person
{
string regNo,name;
public Person(string regNo,string name)
{
this.regNo = regNo;
this.name = name;
}
public string RegNo
{
get { return regNo; }
}
public string Name
{
get { return name; }
}
}
class student : Person
{
student(string regno, string name)
: base(regno, name)
{
}
}
Run Code Online (Sandbox Code Playgroud)
这是构造函数在抽象类中被允许的目的吗?
mjv*_*mjv 18
虽然不能被实例化自身,抽象类可以有构造函数会被它的派生类的构造函数被调用.
这对于包含在基本身中的成员的初始化特别有用.(即当派生类的构造函数包含对"base()"的引用时).
事实上,正如Jason Down提醒我们的那样,如果未明确定义这样的构造函数,则类总是提供无参数的默认构造函数.
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |