Вызов метода частного родительского класса из родительского класса (django) - PullRequest
0 голосов
/ 24 марта 2010

Я хочу вызвать переопределенный закрытый метод из абстрактного родительского класса. Я использую Django, если это имеет значение.

class Parent(models.Model):
    def method1(self):
         #do somthing
         self.__method2()

    def method2(self):
         pass # I also tried calling up a prent method with super

class child(Parent):
    def method1(self)
        super(Child, self).method1()

    def __method2(self):
        #do something

Я получаю

AttributeError: "'Chil' object has no attribute '_Parent__method2'"

Что я делаю не так?

1 Ответ

3 голосов
/ 24 марта 2010

Начальные двойные подчеркивания предотвращают полиморфизм, поскольку как определение метода , так и вызов метода искажены под двумя разными именами. Замените это подчеркиванием, чтобы исправить это.

Кроме того, двойные подчеркивания не используются для "частных" атрибутов, и вы должны отказаться от любых ссылок, которые вам говорят, что они есть. Они используются для устранения неоднозначности МИ.

...