Articles of inheritance

¿Por qué no puedo crear un constructor abstracto en una clase abstracta de C #?

Estoy creando una clase abstracta. Quiero que cada una de mis clases derivadas se vea obligada a implementar una firma específica de constructor. Como tal, hice lo que habría hecho si hubiera querido obligarlos a implementar un método, hice uno abstracto. public abstract class A { abstract A(int a, int b); } Sin embargo, recibo […]

Herencia de clase de caso Scala

Tengo una aplicación basada en Squeryl. Defino mis modelos como clases de casos, principalmente porque considero conveniente tener métodos de copia. Tengo dos modelos que están estrictamente relacionados. Los campos son los mismos, muchas operaciones son comunes y deben almacenarse en la misma tabla de DB. Pero hay un comportamiento que solo tiene sentido en […]

Problemas con la herencia del operador = en C ++

Estoy teniendo problemas con la herencia de operator =. ¿Por qué este código no funciona y cuál es la mejor manera de solucionarlo? #include class A { public: A & operator=(const A & a) { x = ax; return *this; } bool operator==(const A & a) { return x == ax; } virtual int get() […]

¿Por qué las estructuras no admiten la herencia?

Sé que las estructuras en .NET no admiten la herencia, pero no está del todo claro por qué están limitadas de esta manera. ¿Qué razón técnica impide que las estructuras hereden de otras estructuras?

¿Cuál es el sentido de una función virtual pura privada?

Encontré el siguiente código en un archivo de encabezado: class Engine { public: void SetState( int var, bool val ); { SetStateBool( int var, bool val ); } void SetState( int var, int val ); { SetStateInt( int var, int val ); } private: virtual void SetStateBool(int var, bool val ) = 0; virtual void […]

Inicializar los miembros protegidos del padre con la lista de inicialización (C ++)

¿Es posible usar la lista de inicialización de un constructor de clase hijo para inicializar los miembros de datos declarados como protegidos en la clase padre? No puedo conseguir que funcione. Puedo evitarlo, pero estaría bien si no tuviera que hacerlo. Algunos ejemplos de código: class Parent { protected: std::string something; }; class Child : […]

¿En qué orden se ejecutan los bloques estáticos y los bloques de inicialización cuando se usa la herencia?

Tengo dos clases, padre e hijo public class Parent { public Parent() { System.out.println(“Parent Constructor”); } static { System.out.println(“Parent static block”); } { System.out.println(“Parent initialisation block”); } } public class Child extends Parent { { System.out.println(“Child initialisation block”); } static { System.out.println(“Child static block”); } public Child() { System.out.println(“Child Constructor”); } public static void main(String[] […]

Una forma de convertir un tipo base en un tipo derivado

No estoy seguro si esto es algo extraño de hacer o no, o si es de alguna manera el olor del código … pero me preguntaba si había una forma (algún tipo de patrón de oop sería bueno) de “lanzar” un tipo base a una forma de su tipo derivado. Sé que esto tiene poco […]

Heredar de List

¿Cuál es la forma más rápida de implementar una nueva clase que hereda de List ? class Animal {} class Animals : List {} // (1) Un problema que he encontrado: simplemente haciendo (1) , he descubierto que no obtengo el beneficio de heredar ningún constructor de List . Al final, me gustaría que Animals […]

Acceso a campos privados heredados a través de la reflexión en Java

Encontré una manera de obtener miembros heredados a través de class.getDeclaredFields(); y acceso a miembros privados a través de class.getFields() Pero estoy buscando campos privados heredados. ¿Cómo puedo conseguir esto?