ereditarietà e variabili finali statiche

2

Sono uno studente programmatore.

Ho avuto problemi nell'organizzazione di classi Java che utilizzano l'ereditarietà e le variabili finali statiche.

Diciamo che ho una classe astratta chiamata Form che ha due bambini chiamati Rectangle e Triangle. Questi due bambini hanno una variabile statica finale chiamata NumberOfSides.

Entrambe le classi di bambini hanno bisogno di getter identici per quella variabile ....

Sarebbe possibile scrivere quel getter nella classe "madre"?

Grazie per il tuo aiuto.

    
posta leseulsteve 06.02.2014 - 17:21
fonte

1 risposta

3

Questo non dovrebbe essere una costante (aka statico finale).

Data un'istanza di 'form' (non sai quale classe sia), puoi chiamare un metodo 'getNumberOfSides' che ti darà quello che vuoi. Questo è un metodo standard.

Potresti anche considerare una fabbrica: FormFactory.createNewFormWithNumberOfSides (n).

Ora potresti avere qualcosa di simile:

class Triangle implements Form {
  public final static int TRIANGLE_SIDES = 3;

  @Override
  public int getNumberOfSides(){
    return TRIANGLE_SIDES;
  }
}

Ma evitare costanti (statiche) all'interno di una gerarchia che si ombreggiano a vicenda è una buona idea.

    
risposta data 06.02.2014 - 17:30
fonte

Leggi altre domande sui tag