super

#coding=utf-8
#在类的继承中,如果重定义某个方法(比如下面例子中的greet方法),该方法会覆盖父类的同名方法,但有时,
#我们希望能同时实现父类的功能,这时,我们就需要调用父类的方法了
'''
class Animal(object):
    def __init__(self,name):
        self.name=name

    def greet(self):
        print "hello, i am %s." %self.name

#dog=Animal('dog')
#dog.greet()
#hello, i am dog.

#继承
class Dog(Animal):
    def greet(self):
        print "wangwang"

#dog=Dog('dog')
#dog.greet()
#wangwang
'''

###################################
#下面是super的使用方法
class Animal(object):
    def __init__(self,name):
        self.name=name

    def greet(self):
        print "hello, i am %s." %self.name

class Dog(Animal):
    def greet(self):
        super(Dog,self).greet() #不覆盖父类
        print "wangwang"

dog=Dog('dog')
dog.greet()

#hello, i am dog.
#wangwang

 

posted @ 2018-04-25 14:42  米 立  阅读(154)  评论(0编辑  收藏  举报