Articles of herencia de

Al llamar a un método anulado, superclase y método anulado a las llamadas

Este código lanza una excepción, AttributeError, “wtf!” , porque A.foo() está llamando a B.foo1() , ¿no debería llamar a A.foo1() ? ¿Cómo puedo obligarlo a llamar a A.foo1() (y cualquier método llamado dentro de A.foo() debería llamar a A.* ) class A(object): def foo(self): print self.foo1() def foo1(self): return “foo” class B(A): def foo1(self): raise […]

¿Cuál es la diferencia entre super () y el nombre de clase principal?

¿Hay alguna diferencia entre usar super() y usar el nombre de la clase padre directamente? Por ejemplo: class Parent: def __init__(self): print(“In parent”) self.__a=10 class Child(Parent): def __init__(self): super().__init__() # using super() Parent.__init__(self) # using Parent class name c=Child() ¿Hay una diferencia interna entre super().__init__() y Parent.__init__(self) ?

Python super (Class, self) .method vs super (Parent, self) .method

Esta pregunta se deriva de la siguiente pregunta , digamos que la class B extiende la class A class A(object): def do_work(self): print 123 class B(A): def do_work(self): super(B,self).do_work() # versus the next statement super(A,self).do_work() # what’s the difference?

¿Cómo anulo las funciones de una clase padre en python?

Tengo un método privado def __pickSide(self): en una clase principal que me gustaría anular en la clase secundaria. Sin embargo, la clase secundaria todavía llama a la def __pickSide(self): heredada def __pickSide(self): ¿Cómo puedo anular la función? El nombre de la función de la clase secundaria es exactamente el mismo que el nombre de la […]

Clases de “amigo” en python

¿Hay alguna forma de hacer que ciertas variables en las clases sean “privadas” (o lo que sea self.__var realmente es) pero sea accesible a otra clase, como amigos en c ++, excepto en python? No quiero que las variables en ninguna de las clases se ensucien. Tampoco quiero copiar todo el código y convertirlo para […]

Usando la herencia en Python

esta es mi tarea, la vi publicada en el sitio web antes, pero parece que no se resolvió y recibí un mensaje de error diferente al de una persona que hacía esa pregunta antes. La primera parte del problema es definir la subclase Worker que se hereda de Employee e incluye un atributo que se […]

¿Convertir un objeto BaseClass en un objeto SubClass idiomáticamente?

Hay una clase base Base y una subclase Special . class Base(object): def __init__(self, name): self.name = name def greet(self): return ‘Hello %s’ % self.name class Special(Base): def __init__(self, name): super(Special, self).__init__(name) def rhyme(self): return ‘Hi %s! How are you? Fine, thanks. What about you?’ % self.name ¿Cómo puedo convertir una instancia de Base en […]

súper confuso Python herencia múltiple super ()

Estaba jugando con la herencia múltiple en Python y me encuentro con una situación que no puedo entender cómo sucedió. Aquí está el diseño de la herencia: AF / \ | BC | \ | / \ | / D El diamante ABCD que todo el mundo conoce. Además de una clase extra “F”, la […]

Forzar a la clase infantil a anular los métodos de los padres

Supongamos que tengo una clase base con métodos no implementados de la siguiente manera: class Polygon(): def __init__(self): pass def perimeter(self): pass def area(self): pass Ahora, digamos que uno de mis colegas usa la clase Polygon para crear una subclase de la siguiente manera: import math class Circle(Polygon): def __init__(self, radius): self.radius = radius def […]

Los decoradores de Python que forman parte de una clase base no se pueden usar para decorar funciones miembro en clases heredadas

Los decoradores de Python son divertidos de usar, pero parece que he golpeado una pared debido a la forma en que se pasan los argumentos a los decoradores. Aquí tengo un decorador definido como parte de una clase base (el decorador accederá a los miembros de la clase, por lo tanto, requerirá el parámetro propio). […]