繁体   English   中英

为什么在创建子类的对象时会调用基类和派生类的构造函数

[英]Why is the base class and derived class constructor getting called when creating object of the child class

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 类的任何变量。为什么要调用基类构造函数?

您的基类构造函数被调用是因为您已经从基类派生了子类。 根据定义,子类继承其基类的成员变量和函数。 您可能应该阅读更多关于面向对象继承如何工作的信息。

让我们举个例子。 假设你在你的程序中与人打交道。 您创建一个带有构造函数和成员变量名称、年龄和性别的人员类。 您可以将其实例化为任意数量的人。

然后,您希望在程序中具有更多功能,并创建两个新类,一个用于学生,另一个用于员工。

对于学生,您需要姓名、年龄、性别、年级、专业和年份,而对于员工,您需要姓名、年龄、性别、职位、薪水。

两个新类:Students 和Employees 派生自Person 类,因为他们需要姓名、年龄和性别。

如果您不希望类 C 创建它的基类,那么您需要做的就是不要让类 C 继承类 B。

Google 上有大量关于派生类及其工作方式的信息。 https://www.google.ca/?gws_rd=ssl#q=inheritance+in+object+oriented+programming

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM