[英]parent class's constructer in a child class in C#
我有一个父母班和一个孩子班。 父级具有用于初始化其参数的构造函数。
我的问题是:孩子如何看待父母的构造函数? 我可以为孩子定义一个构造函数吗?
此继承示例显示:
代码示例:
public class Parent
{
private object _member;
public Parent(object member)
{
this._member = member;
}
}
public class Child : Parent
{
public Child(object member)
: base(member)
{
}
}
您可以在子类的ctor中使用base(...)
。
前额:
public class Child : BaseClass
{
public Child() : base(/*some parameters*/) //CALLING BaseClass parametrized ctor
{
}
}
只要注意,如果你并不需要一些具体的参数,只是没有做任何事情 ,引起BaseClass
默认ctor
将由方式调用,当你调用ctor
一的Child
类。
您必须为子代定义构造函数。 您可以在构造函数原型及其实现之间使用: base()
来调用基类的构造函数:
public class Parent {
public Parent() {
...
}
}
public class Child : Parent {
public Child() : base() { // calls Parent.ctor
}
}
当然。
您在“ base”关键字之后。
public class Fruit
{
string TypeOfFruit { get; set; }
public Fruit (string typeOfFruit)
{
TypeOfFruit = typeOfFruit;
}
}
public class Apple : Fruit
{
string AppleType { get; set; }
public Apple(string appleType) : base("Apple")
{
AppleType = appleType;
}
}
您可以很好地为子类定义一个构造函数,只有在不为一个类定义构造函数的情况下才提供默认的构造函数
同时关于如何查找parent的构造函数
它将检查无参数的构造函数是否存在于父类中,并且如果您没有该参数(编译器会让您知道相同的信息),否则您将不得不使用诸如base("This is the string parameter")
如果您还有其他意思,请更新问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.