Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

193
Visualizações
Seleccione la clase de enumeración adecuada según el miembro de la clase

Tengo una clase absract que describe una funcionalidad general de las clases de niños. Cuando inicializo una clase secundaria, quiero establecer una clase de enumeración específica como miembro de la clase abstracta principal. ¿Cómo puedo hacer eso?

Ejemplo: AbstractFunctionality.java

 public abstract class AbstractFunctionality { protected String Name; protected String Surname; // specific enum class public AbstractFunctionality(String Name, String Surname){ this.Name = Name; this.Surname = Surname; } }

Niño1.java

 public class Child1 extends AbstractFunctionality { public Child1(){ super("Jane","Austen"); } }

¿Cómo puedo especificar que quiero los escritores de public enum Writers en mi clase Child1 ?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

El enfoque más simple es simplemente agregar el tipo de enum como el tipo del parámetro de campo de la clase abstracta:

 public abstract class AbstractFunctionality { protected String Name; protected String Surname; Writers writers; public AbstractFunctionality(String Name, String Surname, Writers writers){ this.Name = Name; this.Surname = Surname; this.writers = writers; } }

la subclase:

 public class Child1 extends AbstractFunctionality { public Child1(){ super("Jane","Austen", Writers.SOME_FIELD); } }

Alternativamente, puede hacer que sus Enum Writers implementen una interface más general, digamos IWriters

 public abstract class AbstractFunctionality { protected String Name; protected String Surname; protected IWriters writers; public AbstractFunctionality(String Name, String Surname, IWriters writers){ this.Name = Name; this.Surname = Surname; this.writers = writers; } }

La interfaz:

 public interface IWriters { ... }

la enumeración:

 public enum Writers implements IWriters{ ... }

El beneficio de este enfoque es que puede tener diferentes tipos de enumeraciones implementando la misma interfaz y, por lo tanto, también se pueden usar en la clase abstracta.

over 4 years ago · Santiago Trujillo Relatório

0

Tal vez puedas configurar genérico en clase abstracta

 public abstract class AbstractFunctionality<T extends Enum<T>> { protected String Name; protected String Surname; T specificEnum public AbstractFunctionality(String Name, String Surname,T specificEnum){ this.Name = Name; this.Surname = Surname; this.specificEnum=specificEnum; }

en la subclase

 public class Child1 extends AbstractFunctionality<Writers> { public Child1(){ super("Jane","Austen",Writers.POEM); } } }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda