继承问题C#
我的应用程序中的继承有一个小问题。我有一个基类客户机,它有一个子类作业。基本上,我正在尝试为Job创建构造函数,但遇到一个错误:“Job\u Manager\u Application.Client”不包含接受0个参数的构造函数 不明白它为什么这么做继承问题C#,c#,inheritance,C#,Inheritance,我的应用程序中的继承有一个小问题。我有一个基类客户机,它有一个子类作业。基本上,我正在尝试为Job创建构造函数,但遇到一个错误:“Job\u Manager\u Application.Client”不包含接受0个参数的构造函数 不明白它为什么这么做 提前感谢。您的客户机类有一个接受参数的构造函数 因此,作业构造函数需要将参数传递给客户端 例如: class Client{ public string Name {get;set;} public Client(string na
提前感谢。您的客户机类有一个接受参数的构造函数 因此,作业构造函数需要将参数传递给客户端 例如:
class Client{
public string Name {get;set;}
public Client(string name){
this.Name = name;
}
}
--
您的客户机类有一个接受参数的构造函数 因此,作业构造函数需要将参数传递给客户端 例如:
class Client{
public string Name {get;set;}
public Client(string name){
this.Name = name;
}
}
--
为什么
Job
是客户机的子类?继承代表的是一种关系(aCat
是一种Animal
soclass-Cat:Animal{}
)。作业
不是客户
无论如何,您的错误消息是清楚的。在客户端上没有可访问的无参数构造函数。然后,您需要从Job
上的构造函数显式调用客户端上的构造函数
class Client {
public string Name { get; set; }
public Client(string name) { this.Name = name; }
}
class Job : Client {
public Job(string name) : base(name) { }
}
看到那边的base(name)
了吗?在Client
上调用基本构造函数Client.Client(字符串)
。如果未显式指定基构造函数,编译器将尝试查找可访问的无参数构造函数。如果没有,您将得到您所经历的编译时错误
因此,您或者需要像我上面所做的那样,显式调用一个可访问的无参数构造函数,或者向客户机
添加一个无参数构造函数
但请重新考虑一下你的模式。作业
不是客户端
为什么作业
是客户端
的子类?继承代表的是一种关系(aCat
是一种Animal
soclass-Cat:Animal{}
)。作业
不是客户
无论如何,您的错误消息是清楚的。在客户端上没有可访问的无参数构造函数。然后,您需要从Job
上的构造函数显式调用客户端上的构造函数
class Client {
public string Name { get; set; }
public Client(string name) { this.Name = name; }
}
class Job : Client {
public Job(string name) : base(name) { }
}
看到那边的base(name)
了吗?在Client
上调用基本构造函数Client.Client(字符串)
。如果未显式指定基构造函数,编译器将尝试查找可访问的无参数构造函数。如果没有,您将得到您所经历的编译时错误
因此,您或者需要像我上面所做的那样,显式调用一个可访问的无参数构造函数,或者向客户机
添加一个无参数构造函数
但请重新考虑一下你的模式。作业
不是客户端
客户端有一个接受参数的构造函数,您没有正确调用它
public class Job
{
public Job(int num) { }
}
public class Client : Job
{
public Client() : base(1) {}
}
客户端有一个接受参数的构造函数,您没有正确调用它
public class Job
{
public Job(int num) { }
}
public class Client : Job
{
public Client() : base(1) {}
}
至少,你应该在这里提供一段代码让我们想象问题。@hinkrate:编译器消息在这一条上是100%清楚的。至少,你应该在这里提供一段代码让我们想象问题。@hinkrate:编译器消息在这一条上是100%清楚的。