Java - Por qué no es una buena práctica tener una clase abstracta con metodos abstractos?

 
Vista:
Imágen de perfil de Jhon Jairo
Val: 4
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Por qué no es una buena práctica tener una clase abstracta con metodos abstractos?

Publicado por Jhon Jairo (3 intervenciones) el 23/04/2020 18:03:59
Me podrían ayudar por favor con una pregunta?

Hola, estuve buscando en Google, pero no encontré la respuesta exacta, me podrían ayudar por favor.

Yo no diseñé la pregunta, me la hicieron en una empresa.

Por qué no es una buena práctica tener una clase abstracta con metodos abstractos? Las opciones son:

A La flexibilidad de la herencia se vería reducida

B No podrán haber futuras widening conversions

C Las clases abstractas sólo pueden implementar métodos públicos y estáticos

D No pueden haber futuras conversiones narrowing

E Una clase abstracta no fuera a una subclase inferior a implementar todos los métodos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Jhon Jairo
Val: 4
Ha aumentado su posición en 7 puestos en Java (en relación al último mes)
Gráfica de Java

Por qué no es una buena práctica tener una clase abstracta con metodos abstractos?

Publicado por Jhon Jairo (3 intervenciones) el 23/04/2020 22:45:51
Hice una traducción parcial pero quedó confuso, así quedan mejor las opciones:

A La flexibilidad de la herencia se vería reducida

B No puede haber conversiones más amplias

C Las clases abstractas sólo pueden implementar métodos públicos y estáticos

D No puede haber conversiones más estrechas

E Una clase abstracta no obliga a una subclase inferior a implementar todos los métodos

Respuesta:
Obviamente todo esto depende del escenario. La idea de la clase abstracta es abstraer lógica común que clases hijas vayan a heredar y pueda usarla out of the box.
Seria mala practica si creas una clase abstracta con solo métodos abstractos. En ese caso me inclinaría por usar interfaces.

Seria la C. El termino widening y narrowing es algo como la conversion de int a integer y integer a int
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar