Básicamente, tengo:java subclase: varios constructores heredado de la superclase abstracta
public abstract class AbstractClass {
public AbstractClass(Type arg0, Type arg1, Type arg2) {
// do some stuff with all those args
}
public AbstractClass(Type onlyOneArg) {
// do different stuffs with this different arg.
}
protected someMethods() { /* ... */ }
}
Y tengo algunos problemas en las subclases:
- En primer lugar, tengo que -en la mayoría de las casos: reescribir inútilmente los constructores. No es muy molesto, solo un poco sucio a la vista.
- Y, más importante, No estoy obligado a implementar constructores (aunque ambos se utilizan en el programa).
Ejemplo de mis actuales subclases:
public class MyClass extends AbstractClass {
public MyClass(Type arg0, Type arg1, Type arg2) {
super(arg0, arg1, arg2);
}
public MyClass(Type onlyOneArg) {
super(onlyOneArg);
}
}
Y
- Tengo que ser capaz de escribir un código especial en el constructor de una subclase si quiero.
- Tengo demasiados códigos compartidos que quiero mantener en la clase abstracta.
¿Puedo hacer algo al respecto? ¿Hay algo que no sé sobre Java? ¿O es mi diseño malo? O ...?
No estoy seguro de cuál es la pregunta. ¿Quieres que te obliguen a implementar todos los constructores de superclase? ¿De qué se trata los requisitos que has declarado que parece que no puedes hacer? –
Me encantaría reformular la pregunta, pero no estoy muy seguro de cómo ... quise decir que quiero estar seguro de que en cada subclase de "AbstractClass", ambos constructores están disponibles. En el programa, estoy instanciando con ambos constructores sin saber el tipo exacto.Solo sé que el objeto será una subclase 'AbstractClass'. Así que tengo que estar seguro de que siempre puedo usar ambos constructores. ¿Es eso más comprensible? ... ¡Sry, es difícil expresar mis pensamientos en inglés! – user978548
Además de eso, también me preguntaba si era posible de alguna manera para Java utilizar automáticamente el constructor 'AbstractClass' si no está definido en la subclase, pero esa no es mi principal preocupación. – user978548