我有一个父类和一个子类。父级有一个初始化其参数的构造函数。
我的问题是:孩子如何看待父母的构造函数?我可以为孩子定义一个构造函数吗?
我有一个父类和一个子类。父级有一个初始化其参数的构造函数。
我的问题是:孩子如何看待父母的构造函数?我可以为孩子定义一个构造函数吗?
您可以在您的子班base(...)
的 ctor 中使用。
前例:
public class Child : BaseClass
{
public Child() : base(/*some parameters*/) //CALLING BaseClass parametrized ctor
{
}
}
请注意,如果您不需要某些特定参数,则不要执行任何操作,因为调用类时会顺便BaseClass
调用默认值。ctor
ctor
Child
此继承示例显示:
代码示例:
public class Parent
{
private object _member;
public Parent(object member)
{
this._member = member;
}
}
public class Child : Parent
{
public Child(object member)
: base(member)
{
}
}
您可以很好地为子类定义构造函数,仅在您没有为类定义构造函数的情况下才提供默认构造函数
同时对于如何查找parent的构造函数
它将检查父类中是否存在无参数构造函数,以防万一您没有(编译器让您知道相同),否则您将不得不使用参数调用父构造函数,例如base("This is the string parameter")
如果您的意思是别的,请更新问题。
您必须为孩子定义构造函数。您可以: 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;
}
}