2015-04-12 2 views
2

Я только что наблюдал за разговором Super considered super Раймондом Хеттингером. В нем он описывает, как super() вызывает следующий класс в строке. Он демонстрирует это визуально, используя метод help(), который показывает порядок разрешения метода.super() конец пробки линии

В конце разговора он описывает необходимость класса супер-пробок в конце линии разрешения метода. Я искал этот термин и не нашел ничего, что неясно, что он здесь имеет в виду - как этот класс пробников работает на практике?

ответ

4

Это просто метод в цепи, который не использовать super() для вызова следующего метода. Обычно они находятся в базовом классе в иерархии.

В конце концов, если в цепочке MRO нет следующего метода, вы получите сообщение об ошибке, так как не было бы следующего метода поиска в первую очередь.

Раймонд заявляет об этом совершенно явно; транскрипция с видео:

Вы помещаете в конец пробковый объект; неobject, вы можете создать объект, назовите его Root и введите его, и все это то, что имеет метод интереса; пропустите его, но на самом деле не звоните super(). Кто-то в конце цепи не должен звонить super().

+0

О, кажется очевидным, теперь вы так выразились. Я думал, что, возможно, что-то пропустил, спасибо! – rix

Смежные вопросы