Как я могу вызвать метод из базового класса - PullRequest
0 голосов
/ 03 октября 2018
class Base():
    def __init__(self):
        print("test")

    def first_func(self):
        print("first function call")


class Deriv(Base):
    def __init__(self):
        Base.__init__(self)

    def first_func(self):
        print("Test Derived")

C = Deriv()
C.first_func() # It gives output "Test Derived"

Как я могу вызвать метод first_func () (вывод должен быть "первым вызовом функции") из базового класса (Class Base), используя только объект C и python 2.7?

1 Ответ

0 голосов
/ 03 октября 2018

Вы можете использовать Base.first_func(C) для явного вызова функции базового класса:

class Base():
    def __init__(self):
        print("test")

    def first_func(self):
        print("first function call")


class Deriv(Base):
    def __init__(self):
        Base.__init__(self)

    def first_func(self):
        print("Test Derived")

C = Deriv()
Base.first_func(C) 

Вывод:

test
first function call

Если вы использовали классы нового стиля (т. Е. Вы получили Base из object), использование super является предпочтительным, как указано в здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...