
C#中继承base(id)是个什么意思?
classConcretePrototype1:Prototype{//ConstructorpublicConcretePrototype1(stringid):bas...
class ConcretePrototype1 : Prototype { // Constructor public ConcretePrototype1(string id) : base(id) { } public override Prototype Clone() { // Shallow copy return (Prototype)this.MemberwiseClone(); } }
展开
3个回答
展开全部
base(id)就是调用父类的带有id参数的构造函数。
C#里面的this和base 跟JAVA里面的this和super是一样的。你在定义一个变量的时候有一个this引用,指向自身,还有一个引用base,指向父类。关于你说的那种情况就是我说的第一种,如果子类成员有和父类成员同名的时候,就必须用this和base区分。
C#里面的this和base 跟JAVA里面的this和super是一样的。你在定义一个变量的时候有一个this引用,指向自身,还有一个引用base,指向父类。关于你说的那种情况就是我说的第一种,如果子类成员有和父类成员同名的时候,就必须用this和base区分。
展开全部
base 是和 this 相对的,this 代表当前类,base 代表父类。
比如父类里有个 int a; 子类里也有个 int a;,那么 base.a 和 this.a 就是不一样的,除非明确继承关系。
题主这里的 ConcretePrototype1 类继承自 Prototype,构造函数加上 base(id) 就是说子类里的 id 和父类的 id 是一回事儿,先调用父类的构造函数,然后才轮到子类的。
比如父类里有个 int a; 子类里也有个 int a;,那么 base.a 和 this.a 就是不一样的,除非明确继承关系。
题主这里的 ConcretePrototype1 类继承自 Prototype,构造函数加上 base(id) 就是说子类里的 id 和父类的 id 是一回事儿,先调用父类的构造函数,然后才轮到子类的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
表示这个构造函数调用了基类带一个string参数的构造函数
id是参数。
你可以理解为
public ConcretePrototype1(string id)
{
base(id);
//之后子类构造函数的程序段
......
}
id是参数。
你可以理解为
public ConcretePrototype1(string id)
{
base(id);
//之后子类构造函数的程序段
......
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询