标题解释了我相信的一切。在C#中,我现在意识到无论派生类中的构造函数是调用基类构造函数,无论它是显式调用还是隐式默认构造函数。我的问题是为什么?我认为这是因为派生类需要创建基类的对象,但为什么?为什么派生类需要使用基类构造函数
2
A
回答
9
我认为这是因为派生类需要创建基类的对象,但为什么?
派生类的实例是基类的一个实例。如果你对构建动物时发生的事情有规定,并且你正在构建长颈鹿,那么你必须执行构建动物的规则。在C#中,该机制是“调用基类构造函数”。
9
派生类是基类加上派生类添加的额外事物。
您仍需要一些初始化基类部分的代码,以便您可以在顶部添加额外的部分。对基础构造函数的调用是初始化发生的地方。
1
比方说,这辆车是你的抽象类,宝马,马自达,吉普车是你的驾驶类。 你有字段:名称,型号,.. 你有constroctor:汽车类汽车(),汽车(弦模型)
,那么当编译器做内存分配对象需要阅读抽象构造要注意的名称,型号。 这将调用默认的构造函数。但是您可以使用base(“z4”)强制在抽象类中调用重写的构造函数。
1
正如斯科特张伯伦所说的派生类是什么(加上一些更多的功能)。
当然,对象可以在构造函数中有行为。
无论如何,如果你不需要继承他们,你应该构造代码,以正确的方式,
你应该离开基地构造空的,要看您的具体需求
相关问题
- 1. 为什么派生的构造函数需要基础析构函数?
- 2. 从基类构造函数调用派生类的虚函数?
- 3. C# - 使所有派生类调用基类构造函数
- 4. 设置基类属性使用派生类的构造函数
- 5. 在基类构造函数中使用派生类属性
- 6. 强制派生类使用基类的构造函数
- 7. 基类构造函数在派生类构造函数之前真的调用
- 8. 为什么派生类重载函数隐藏基类函数?
- 9. 从调用派生类的基类构造函数在Java中
- 10. 关于基类和派生类的构造函数调用
- 11. 在派生类中调用基类构造函数
- 12. 基类如何可以禁用派生类的构造函数
- 13. 派生类调用错误的基类构造函数
- 14. 在派生类中调用基类构造函数
- 15. 在C++中调用的基类和派生类构造函数
- 16. 派生类是否总是需要调用默认的基础构造函数?
- 17. 派生类构造函数调用
- 18. 为什么在调用基类复制构造函数(C++)时将派生类类型作为参数传递?
- 19. 任何方式在派生类中使用基构造函数?
- 20. 指针在基类构造函数派生类
- 21. 派生类的构造函数以基类对象
- 22. 在派生类构造函数中复制基类
- 23. 是否可以从基类构造函数创建派生类?
- 24. 我不希望派生类继承基类的构造函数
- 25. 构造函数在基类和派生类
- 26. 将派生类构造函数分配给基类指针
- 27. 基类和派生类构造函数的内存分配
- 28. 什么是基类构造函数,我为什么要使用它? (带示例)
- 29. 为什么EnumMap构造函数需要类参数?
- 30. 派生类中的VB.NET构造函数