Добавить экземпляр в виртуальный подкласс?Python

Программы на Python
Ответить
Anonymous
 Добавить экземпляр в виртуальный подкласс?

Сообщение Anonymous »

Если абстрактные подклассы могут использовать регистр для добавления других классов в качестве «виртуального» подкласса, как можно это сделать для одного экземпляра на основе того, что он соответствует некоторым критериям?
«Разумная» альтернатива, которую я придумал, — это использование виртуального подкласса, но изменение метода проверки экземпляра.

Код: Выделить всё

class Controller:
def __init__(self,smart)
pass

class SmartController(ABC):
def __instancecheck__(self)
return self.smart

но это не сработало, поскольку метакласс контроллеров на самом деле должен иметь измененную проверку экземпляра, чтобы это работало, что заставляет меня думать, что вам, возможно, придется что-то делать с метаклассами, но если у контроллера уже есть какой-то другой метакласс, я не знаю, сработает ли он...
возможная причина для этого: контроллер может иметь несколько дочерних классов, отдельные экземпляры которых могут быть либо «умными», либо «глупыми».
Я понимаю, что это может быть очень плохой поступок, но если есть какой-то «наиболее разумный» способ сделать это, то я хотел бы знать, как это сделать.
Также хотелось бы знать, почему это на самом деле плохая идея, если это так.

Подробнее здесь: https://stackoverflow.com/questions/798 ... l-subclass
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»