程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如果我们将子类中的超类构造函数作为第一行调用,这有关系吗??

开发过程中遇到如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?的问题如何解决?下面主要结合日常开发的经验,给出你关于如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?的解决方法建议,希望对你解决如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?有所启发或帮助;

当使用 Java 和 C++ 时,我们必须在子类的第一行调用超类构造函数。

例:

public class MySubClass extends MyClass {
    public MySubClass() {
        super(); // must be first line code
        ... some code in the constructor ...
    }
}

使用 Python 时,我们不必在第一行调用超类构造函数:

class MySubClass(MyClass):
    def __init__(self):
        ... some code ...
        MyClass.__init__(self)

Python 第一行调用超类构造函数有什么区别吗?

解决方法

当然会有差异,但如果你知道自己在做什么,那么做就可以了

class MyClass:
    def __init__(self):
        self.a = 1

class MySubClass(MyClass):
    def __init__(self):
        self.a = 2    
        MyClass.__init__(self)
    

对比

class MySubClass(MyClass):
    def __init__(self):
        MyClass.__init__(self)        
        self.a = 2           

self.a 中的结果值会有所不同,但如果有意,它可能是有效代码。

大佬总结

以上是大佬教程为你收集整理的如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?全部内容,希望文章能够帮你解决如果我们将子类中的超类构造函数作为第一行调用,这有关系吗?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: