Code :
class A
{
public A()
{
}
}
class B : A
{
public B()
{
}
}
class C : B
{
public C()
{
}
}
Main()
{
C a =new C();
}
在创建新对象C时,首先调用类A构造函数,然后调用类B构造函数,最后调用类C构造函数。假设我不想在子C中使用A类的任何变量。为什么要调用基类构造函数?
答案 0 :(得分:1)
正在调用您的基类构造函数,因为您从基类派生了子类。根据定义,子类继承其基类的成员变量和函数。您应该阅读有关面向对象的继承如何工作的更多信息。
让我们举个例子。在你的计划中说你正在与人打交道。您可以使用构造函数和成员变量名称,年龄和性别创建一个人员类。您可以根据需要将其实例化为多个人。
然后,您需要在程序中使用更多功能,并创建两个新类,一个用于学生,一个用于Employees。
对于学生,您需要姓名,年龄,性别,年级,专业和年份以及您希望姓名,年龄,性别,职位,工资的员工。
两个新课程:学生和员工来自Person课程,因为他们需要姓名,年龄和性别。
如果您不希望C类创建它的基类,那么您需要做的就是没有C类继承B类。
Google上有关于派生类及其工作原理的大量信息。 https://www.google.ca/?gws_rd=ssl#q=inheritance+in+object+oriented+programming