zoukankan      html  css  js  c++  java
  • python 子类调用父类成员的方法

    1.直接写类名调用: parent_class.parent_attribute(self)

     1 class Animal():
     2 
     3     def __init__(self, name):
     4         self.name = name
     5 
     6     def say_name(self):
     7         print(self.name)
     8 
     9 
    10 class Dog(Animal):
    11 
    12     def __init__(self, name):
    13         Animal.__init__(self, name)
    14 
    15     def say_name(self):
    16         Animal.say_name(self)
    17 
    18 
    19 dog = Dog('小虎')
    20 dog.say_name()   # 打印'小虎'

    扩展:实例对象和类对象调用实例函数。

     1 class Animal():
     2 
     3     def __init__(self, name):
     4         self.name = name
     5 
     6     def say_name(self):
     7         print(self.name)
     8 
     9 animal = Animal('nada')
    10 animal.say_name()         # 实例对象调用实例函数,输出'nada'
    11 Animal.say_name(animal)   # 类对象调用实例函数,需要传入一个对象实例作为参数,输出'nada'

    2.用 super(type, obj).method(arg)方法调用:super(child_class, child_object).parent_attribute(arg)   【不需要写self】

     1 class Animal(object):
     2 
     3     def __init__(self, name):
     4         super(Animal, self).__init__()
     5         self.name = name
     6 
     7     def say_name(self):
     8         print(self.name)
     9 
    10 
    11 class Dog(Animal):
    12 
    13     def __init__(self, name):
    14         super(Dog, self).__init__(name)
    15 
    16     def say_name(self):
    17         super(Dog, self).say_name()
    18 
    19 
    20 dog = Dog('小虎')
    21 dog.say_name()    # 输出'小虎'
  • 相关阅读:
    putty配置
    BroadcastReceiver应用详解 (转)
    linux主设备号和次设备号
    Enable screen lock and HOME key (eclair and older versions)(转)
    C#获取用户桌面等特殊系统路径
    java中Thread与Runnable的区别
    博文索引
    FlinkCDC实践
    关于libxml2.so.2不被Gstreamer链接的解决
    s.length什么意思
  • 原文地址:https://www.cnblogs.com/gundan/p/8143296.html
Copyright © 2011-2022 走看看