que je fais un jeu d'échecs et chaque pièce a une sous-classe - roi, la reine, Rook etcComment puis-je définir un constructeur pour toutes les sous-classes
Chaque pièce a un attribut playerId que je veux mettre comme ceci:
public abstract class Piece {
private int playerId;
public Piece(int playerId) {
this.playerId = playerId;
}
}
Mais cela ne fonctionne que si j'instancie Piece directement (ce que je ne peux pas, parce que c'est abstrait). Est-il possible de faire en sorte que ce constructeur s'applique à toutes les sous-classes, sans avoir à l'implémenter manuellement dans chaque classe?
C'est une bonne idée, mais chaque pièce a d'autres attributs que je dois gérer. Je vais écrire les constructeurs dans chaque classe: P – Matt
@matt, si vous utilisez un IDE, vous ne devriez vraiment pas besoin de le faire. Pouvez-vous donner des exemples d'autres attributs que vous devez gérer? Vous pouvez trouver enum peut faire beaucoup plus que ce que vous attendez. –
La deuxième suggestion ferait pour un design très un-OO. Je préfère avoir des méthodes polymorphes comme piece.getValidMoves() que beaucoup d'instructions switch. – prasopes