语法格式为:
class A
{.................
}
class B:A
{...........
}
私有成员依然是无法继承的,为此,想让子类或者派生类继承私有成员,那么久应该将父类的成员权限改为public!
另外: 构造函数是无法继承的!!!!只是调用而已!!
概念不可以混淆!
在new 实例化对象时候, 会先调用父类的构造函数,再调用子类的。 如果都没有,那么就是系统提供的。
做个试验:
class Person
{
public string s="moren";
public Person() // 无参数,默认构造函数
{
Console.WriteLine("父类"+s);
}
public Person(string s) //带参数的构造函数
{
this.s=s;
Console.WriteLine("父类"+s);
}
}
class Me:Person
{
public Me() //必须先调用父类的构造函数,创建了一个无名的父类对象,然后再调用自己的构造函数
{
Console.WriteLine("子类me");
}
}
class You:Person
{
public You():base("you") //先调用父类的构造函数,注意是带参数的那个,不是默认构造函数。
{
Console.WriteLine("子类you"+this.s); //打印继承来的数据成员
}
public You(string s) //先调用父类的构造函数,注意是默认构造函数,不是带参数的那个
{
this.s = s;
Console.WriteLine("子类you带参数的构造函数" + this.s);
}
/// 如果想改变父类的数据成员s,那么可以这样写 public You(string s):base("xx") ,但是要注释掉上面的那个构造函数
}