首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

通过超级调用父类与父类名之间的区别?

通过超级调用父类与父类名之间的区别在于调用的方式和作用。

超级调用是指在子类中调用父类的方法或属性。在不同的编程语言中,超级调用的语法可能有所不同,但通常使用关键字(如super)或特殊符号(如::)来表示。通过超级调用,子类可以访问并重用父类的功能,从而实现代码的复用和扩展。

父类名指的是直接使用父类的名称来调用父类的方法或属性。这种方式不涉及子类的继承关系,而是直接调用父类的成员。父类名的调用方式适用于静态方法或属性,或者在没有子类的情况下直接使用父类的功能。

区别在于:

  1. 调用方式:超级调用是通过关键字或特殊符号来表示,而父类名的调用方式直接使用父类的名称。
  2. 继承关系:超级调用是在子类中调用父类的方法或属性,需要有继承关系;而父类名的调用方式不涉及继承关系,可以直接使用父类的功能。
  3. 作用范围:超级调用可以访问父类的所有公共方法和受保护方法,以及被子类重写的方法;而父类名的调用方式只能访问父类的公共静态方法或属性。

总结: 通过超级调用可以在子类中调用父类的方法或属性,实现代码的复用和扩展;而父类名的调用方式适用于静态方法或属性,或者在没有子类的情况下直接使用父类的功能。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Python】面向对象 - 继承 ② ( 子类重写成员 | 子类调用重名成员 | 子类中使用 调用成员 | 子类中使用 super 调用成员 )

一、子类重写成员 1、子类重写成员语法 子类 继承 成员属性 成员方法 后 , 如果对 继承 成员 不满意 , 可以 重写 成员 ; 成员 属性 和 成员 方法 , 都可以进行重写...1、子类调用重名成员语法 在 外部 是无法访问 成员 : 子类 重写 成员后 , 通过 子类 实例对象 调用 该 重写后 成员时 , 默认调用就是 重写后成员 ; 在 子类内部 可以...访问成员 : 如果需要调用被重写之前 成员 , 则需要使用如下方法 : 方法一 : 使用 调用成员 ; 调用类同名成员变量 : .成员变量 调用类同名成员方法...) 2、代码示例 - 子类中使用 调用成员 在 Dog 子类中 make_sound 函数中 , 通过 Animal.name 和 Animal.age 可以调用成员变量 , 打印出来值为成员变量值...在 Dog 子类中 make_sound 函数中 , 通过 super().name 和 super().age 可以调用成员变量 , 打印出来值为成员变量值 ; 通过 super()

60830

python调用方法三种方式(super调用调用

子类调用方法三种方式:.方法名(self)super(子类,self).方法名()super().方法名注意:super()通过子类调用当前方法,super默认会调用第一个方法...(适用于单继承 或者只想使用第一个方法) # 02 方式 适用于新式 # 格式: super(子类, self).方法名() # super(Prentice...针对这种情况,正确做法是定义Person自己构造方法(等同于重写第一个直接构造方法),但是需要注意是,在子类中定义构造方法,则必须在该方法中调用构造方法。...也就是说,涉及到多继承时,在子类构造函数中,调用第一个构造方法方式有以上两种,而调用其他构造方法方式只能使用未绑定方法。...__init__(self, name)使用未绑定方法调用第一个构造方法 #调用其他构造方法,需要手动给self传值 Animal.

1.1K20
  • python之类重写方法调用方法

    Python 优雅语法和动态类型以及解释型语言本质,使它成为多数平台上写脚本和快速开发应用理想语言。下面我们来介绍一下python重写方法调用方法。...---- 二、重写方法调用方法   在继承关系中,子类会自动继承中定义方法,但如果方法功能不能满足需求,就可以在子类中重写方法。...即子类中方法会覆盖中同名方法,这也称为重载。...2.子类调用方法   如果需要在子类中调用方法,可以使用内置函数super()或通过.方法名()”方式来实现。 例:子类调用方法示例。...---- 三、参考 1、廖雪峰官网 2、python官网 3、Python编程案例教程 ---- 四、总结   以上就是就是关于Python重写方法调用方法相关知识,可以参考一下,觉得不错的话

    2.7K30

    Python继承(调用成员方法)

    python中初始化方法是__init__(),因此子类初始化方法都是这个,如果子类不实现这个函数,初始化时调用初始化函数,如果子类实现这个函数,就覆盖了这个函数,既然继承,就要在这个函数里显式调用一下...__init__(),这跟C++,jAVA不一样,他们是自动调用初始化函数。...__(name)       def saySomething(self):         print ("I am "+ self.name + ", and I can bark") 1.直接写调用...).parent_attribute(arg) 【不需要写self】 3.在定义中调用本类方法,可以直接 super().parent_method(arg) 【个人推崇这种写法】 样例如下:...python_class_inheritance_example.py I am Blake, and I can bark I am Blake I am Blake I am Blake I am Blake ''' 如果要调用成员记住在中不能是私有变量

    5.6K41

    Java子类之间对象转换(说明继承)

    参考链接: 和子类在Java中具有相同数据成员 在使用Java多态机制时,常常使用一个特性便是子类和之间对象转换。...从子类向转换称为向上转换(upcasting),通过向上转换,我们能够在编写程序时采用通用程序设计思想,在需要使用子类对象时候,通过把变量定义为类型,我们可以通过一个变量,使用该类型所有子类型实例...一、引用指向子类对象时 1、若子类覆盖了某方法,则引用调用子类重新定义新方法 2、若子类未覆盖某方法,则引用调用本身旧方法 3、若子类覆盖了某属性,但引用仍调用本身旧属性...4、若子类未覆盖某属性,则引用调用本身旧属性 5、引用不能访问子类新定义属性和方法 二、子类引用指向自身对象时 1、若子类覆盖了某方法,则子类引用调用子类重新定义新方法 2、若子类未覆盖某方法...,则子类引用调用本身旧方法 3、若子类覆盖了某属性,则子类引用调用子类重新定义新属性 4、若子类未覆盖某属性,则子类引用调用本身旧属性 5、子类引用可以访问子类新定义方法 三、示例代码

    3.7K20

    Python_子类调用方法

    1.方式一 子类调用方法,包含2中形式调用。一种形式是在内部通过继承方式调用方法,另外一种形式是子类实例化后之后通过继承方式来调用方法。如下图所示: ?...注意一点,在子类内部通过继承方式调用属性时,必须要带上self位置参数(self只在实例化过程中和在实例调用属性时才能省略(self本来含义就是指向实例自己));而实例在通过继承调用属性或方法时...student.eat有区别 student.done() 此时如果名称更改了,那么在子类中所有用到地方均要进行修改了。...使用super好处,一是可以代替父,这样后期更改了,我们只需要更改子类名称后面的即可,子类中其他可以不用更改;二是使用了super后,调用方法时可以不传参数self。...,student.eat有区别 student.done()

    4.8K20

    子类调用同名方法和属性

    Python面向对象中,利用子类调用同名方法和属性。...首先我们定义了两个,Master和School # @author: 北山啦 # FileName: 12子类调用同名方法 # @time: 2022/6/5 14:54 #Master...,子类如何来调用呢 在这里,定义Prentice,继承了Master和School,添加了和类同名属性和方法 调用子类属性和方法 如果调用属性和方法,类属性会自动掩盖子类属性,股灾调用属性前...__init__ print(f'运用{self.kongfu}制作煎饼果子') 调用类属性和方法 如果调用方法,但是为了保障调用属性,必须在方法前调用初始化...__init__ print(f'运用{self.kongfu}制作煎饼果子') '''调用方法,但是为了保障调用是弗列属性,必须在方法前调用初始化'''

    1.8K20

    python 子类调用构造函数实例

    当子类继承后,需要调用方法和属性时,需要调用初始化函数。...super函数返回一个super对象,解析过程自动查找所有的,当前和对象可以作为super函数参数使用,调用函数返回方法是超方法。...补充知识:python3 和python2 调用构造方法写法区别 1. python3 和python2 调用构造方法写法区别 前一段时间,把之前一个项目迁移到python3 发现了很多不同地方...这里就当做笔记. python3 代码 调用构造方法 #!...主要区别是 super 变化, python3 中直接 super().init() 中 super 不需要传递任何参数,直接可以调用构造方法 python2 中 super(Consumer

    3.5K30

    Java中加载机制---和子类多态调用

    null 1) 上面程序最大难点,也是最重要地方就是:在构造函数中调用了虚函数,并且这个函数被子类重载了 2) 继承时候,子类有着同名属性和同名方法,关于同名属性初始化过程也是必须要了解...同名属性会不会被覆盖掉,同名方法就是多态,同名方法之间调用是怎么样。...;同名方法是多态,只会去调用子类重载方法, 这个规则说白了,就是当有和子类时候,必须都所有的存储空间都分配好了,才能执行  属性初始化,继而是构造函数;同时要明白一点,子类构造函数是在构造完成之后才会去执行...,主要是属性 baseName ,地址变量指向null, 2)接下来执行Sub构造函数,首先是执行super()函数,把搞出来, 3)进入实例化,首先需要去在堆内存里面给分配内存空间,为...,多态调用 7)子类有重载,所以调用子类方法,但是子类baseName还没有初始化,所以就没有直接打出null了 8)创建完毕,接下来就是去执行子类创建工作了, 9)首先为子类属性进行初始化

    2.8K40

    Java中子类和调用关系

    在讲之前,一些基本知识是应该具备: 1、如果一个中没有定义构造器,编译器在编译时会自动加上默认无参构造器: public ClassName {} 2、this 和 super 区别。...和 super 区别。   ...Must explicitly invoke another constructo   因为定义了一个带参数构造器,因此编译器不会添加默认无参构造方法,但是因为在子类构造器中没有显式调用某个构造方法...Teacher() {   super(10);   }   }   这样,在子类构造器中显式调用某个构造器,所以编译器不会自动添加super()方法。   ...,然后首先调用super()方法,调用Teacher无参构造方法,接着再调用 Employee无参构造方法,最后再调用Object无参构造方法。

    97930

    【Kotlin】Kotlin 继承 三 ( super 关键字使用 | super@ 外部调用方法 | 子类选择性调用 接口 方法 super )

    继承 / 实现 : 子类继承了 , 或实现了接口 , 接收了所有操作属性 , 2 ....子类调用 : 子类可以任意调用 public , protected 可见性属性方法 ; 3 ....子类调用方法 ( super ) ---- 子类调用方法 : 子类中可以通过 super 调用方法 , 包括普通方法 , 和属性访问 setter 方法 ; 其中 super 相当于对象引用...子类选择性调用 / 接口方法 : 子类可以继承 , 实现多个接口 , 如果接口 , 或者不同接口之间定义了相同名称方法 , 那么需要使用 super.方法名() 选择调用指定...代码示例 : 代码中定义了一个 Father , 接口 Build , 和接口 都定义了 action 方法 , 子类 Son 继承 , 实现 Build 接口 , 子类通过 super 调用成员或方法

    1.5K10

    Python实现子类调用初始化实例

    前言 python中进行面向对象编程,当在子类实例中调用属性时,由于子类__init__方法重写了__init__方法,如果在子类中这些属性未经过初始化,使用时就会出错。...方法一: 调用未绑定__init__方法 在方法定义时,首个参数均为self。当实例化这个时,self就被自动绑定到当前实例。绑定也就意味着这个实例属性,方法都可以通过‘self....***方式进行调用。但是如果通过直接调用方法,self参数就不会被自动绑定到实例上,可以绑定到我们指定实例上。也就是子类实例上,在这里就是B了。...方法二:调用super函数 super函数是用于调用一个方法,主要是用于解决多继承问题,避免多继承带来一些问题,当然也可以用来解决单继承问题,调用__init__方法了。...以上这篇Python实现子类调用初始化实例就是小编分享给大家全部内容了,希望能给大家一个参考。

    2K20

    python中子类调用初始化方法

    继承后,就能调用方法和访问类属性,而要完成整个集成过程,子类是需要调用构造函数。...子类不显式调用构造方法,而构造函数初始化了一些属性,就会出现问题 如果子类和都有构造函数,子类其实是重写了构造函数,如果不显式调用构造函数,构造函数就不会被执行,导致子类实例访问初始化方法中初始变量就会出现问题...二、第二种解释     在Python中子类继承过程中,如果子类不覆盖__init__()方法,则子类默认将执行一样初始化方法。...__init__(),加上init函数      2:super(type,cls)....__mro__属性顺序(不妨将它 认为是倒树广度优先遍历顺序)。    这个方法好处在于将之间构造方法调用耦合关系彻底解耦了。

    2.2K10

    面试官:this和super有什么区别?this能调用吗?

    它们都是用来起指代作用,每个在实例化时候之所以能调用到 Object (Object 是所有),全是二者“功劳”。...对于 super() 方法也是类似,如果没有显示指定 super() 方法,那么子类会生成一个隐藏 super() 方法,用来调用无参构造方法,这就是咱们开篇所说“每个在实例化时候之所以能调用到...1.2 super 属性使用 使用 super 还可以调用属性,比如以下代码可以通过子类 Son 调用 age 属性,实现代码如下: public class SuperExample {...); } } 以上程序执行结果如下图所示: 从上述结果中可以看出,通过 this() 方法成功调用到了本类中无参构造方法。...3.this 和 super 区别 1.指代对象不同 super 指代,是用来访问;而 this 指代是当前

    1.1K10
    领券