Недавно я обнаружил (через StackOverflow), что для вызова метода в базовом классе я должен позвонить:
super([[derived class]], self).[[base class method]]()
Это прекрасно, это работает. Однако я часто копирую и вставляя между классами, когда я вношу изменения, и часто забываю исправить аргумент производного класса функции super().
Я хотел бы избежать необходимости запоминать аргумент производного класса. Могу ли я вместо этого использовать self.__class__
в качестве первого аргумента функции super()?
Кажется, что это работает, но есть ли веские причины, почему я не должен этого делать?