Voglio avere la stessa variabile statica con un valore diverso a seconda del tipo di classe.Posso avere copie diverse di una variabile statica per ogni diverso tipo di classe ereditaria
Così avrei
public class Entity
{
public static Bitmap sprite;
public void draw(Canvas canvas, int x, int y)
{
canvas.drawBitmap(sprite, x, y, null);
}
}
public class Marine extends Entity
{
}
public class Genestealer extends Entity
{
}
E poi nel mio go programma principale:
Marine.sprite = // Load sprite for all instances of Marine
Genestealer.sprite = // Load sprite for all instances of Genestealer
Non voglio per memorizzare lo stesso sprite in ogni istanza della classe. Ne voglio uno per ogni tipo di classe. Voglio ereditare la variabile statica dello sprite e la funzione draw che disegnerà lo sprite. Ma non voglio che lo sprite di Genstealer scavalchi lo sprite di Marine.
È possibile?
Come faccio?
e persino il tuo gravatar è un tux pinguino in armatura spaziale marina - fantastico :) – weiji
Suppongo che potresti anche definirlo nella classe genitore con un "lancio di nuova UnsupportedOperationException" se avessi certe classi di bambini che non dovrebbero avere uno sprite (anche se questo significherebbe anche perdere i controlli del tempo di compilazione). – rogerdpack