我想澄清我对 c# 中这个基本 OOPS 概念的理解。在大多数互联网站点上,我读到派生类继承了基类的私有成员,但它无法访问这些成员。
派生类可以访问基类的公共、受保护、内部和受保护的内部成员。即使派生类继承了基类的私有成员,它也不能访问这些成员。但是,所有这些私有成员仍然存在于派生类中,并且可以完成与基类本身相同的工作。例如,假设受保护的基类方法访问私有字段。该字段必须存在于派生类中,以便继承的基类方法正常工作。
来源:http: //msdn.microsoft.com/en-us/library/ms173149.aspx
我的问题是,如果我们认为上面是正确的,那么我们可以说“基类的构造函数是在派生类中继承的,但是派生类只能使用 base 关键字通过自己的构造函数访问/调用它,并且这个构造函数将不可用外部世界同时创建派生类的实例”。
public class Employee
{
public int salary;
public Employee(int annualSalary)
{
salary = annualSalary;
}
}
public class Manager : Employee
{
public Manager(int annualSalary)
: base(annualSalary)
{
//Add further instructions here.
}
}
因为要调用基类构造函数,它应该存在于该类中。也许我的解释是错误的。谁能解释一下?
提前致谢!