Есть ли способ заставить унаследованный метод выполнить проверку, а затем вернуться к исходному методу, если проверка не удалась? (Python) - PullRequest
0 голосов
/ 23 апреля 2020

Допустим, у меня есть родительский класс и дочерний класс, который выглядит следующим образом:

class Parent():
 def __init__(self,value):
     self.value = self.value
 def get_value(self):
     return self.value

class Child(Parent):
 def __init__(self,value):
     super(Child,self).__init__(value)
 def get_value(self):
     if self.value == 10
        print("Yay!")
     else:
        Parent.get_value()

Так же, как и выше, я хочу иметь подкласс родительского класса, который переопределяет унаследованный метод из родительский класс, но я хочу, чтобы он проверил наличие определенного c условия. Если указанное c условие не выполняется (в данном случае self.value = 10), просто запустите метод из родительского класса.

РЕДАКТИРОВАТЬ: Исправлена ​​ошибка синтаксиса

1 Ответ

0 голосов
/ 23 апреля 2020

вы можете сделать что-то подобное

class Parent:
    def __init__(self, value):
        self.value = value

    def get_value(self):
     print(f'parrent {self.value}')
     return self.value





class Child(Parent):
 def __init__(self,value):
     super(Child,self).__init__(value)
 def get_value(self):
     if self.value == 10:
        print(f'child {self.value}')
        print("Yay!")
     else:
        super().get_value()




c = Child(10)
c.get_value()

cp = Child(11)
cp.get_value()

вывод

child 10
Yay!
parrent 11

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