Python 3 OOP Метод перенаправления на метод атрибута - PullRequest
2 голосов
/ 20 апреля 2020

Предположим, у меня есть класс с именем A с атрибутом b (атрибут класса или объекта, это не имеет значения) из класса B.

Существует B метод с именем method_B

Если я создаю объект a из класса A и вызываю a.method_b() из a, я хочу быть перенаправлен на a.b.method_b()

Соответствующий код:

class A():

  def __init__(self):
    self.b = B()

class B():

  def __init__(self):
    self.val = 'a string'

  def method_B(self):
    # do something with self.val for example

# MAIN

a = A()

# this:
a.method_B()

# should be the same as:
a.b.method_B()

На самом деле, я хочу избежать переписывания method_B в классе A следующим образом:

class A():

  ...

  def method_B():
    self.b.method_B()

Я искал использование свойство и с дескриптором , но я не знаю, как их адаптировать (если, конечно, я могу их адаптировать)

Заранее благодарю за ваше помощь

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