Calling a parent’s parent’s method, which has been overridden by the parent

If you always want Grandfather#do_thing, regardless of whether Grandfather is Father‘s immediate superclass then you can explicitly invoke Grandfather#do_thing on the Son self object:

class Son(Father):
    # ... snip ...
    def do_thing(self):
        Grandfather.do_thing(self)

On the other hand, if you want to invoke the do_thing method of Father‘s superclass, regardless of whether it is Grandfather you should use super (as in Thierry’s answer):

class Son(Father):
    # ... snip ...
    def do_thing(self):
        super(Father, self).do_thing()

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)