Найти - Пользователи
Полная версия: Замещение метода
Начало » Python для новичков » Замещение метода
1
xakzona
Как заменить метод класса?
к примеру есть класс Edit, у которого объявлен метод onclick(self)
Как мне его описать, не применяя наследование этого класса
bazooka
>>> class A:
def f(self, x):
print(1)

>>> def f(a, x):
print(x)

>>> A.f = f
>>> b = A()
>>> b.f(2)
2
Kogrom
То, что написал bazooka соответствует вопросу, но таит в себе некоторую опасность. Старые объекты класса A после такого переопределения внезапно начнут выполнять не то, что от них ожидали.

Думаю, что лучше замещать метод у объекта, а не класса. А в классе замещать наследованием.
bazooka
тогда будут обьекты одного класса ведущие сибя паразнаму
Kogrom
И это будет хорошо. Каждый юнит получает свои индивидуальные скиллы :)
Хотя в играх бывает и так, что разом все юниты получают апгрейд. Но это оторвано от реальной жизни.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB