Est-il possible d'accéder à une variable de la sous-classe à l'aide de l'objet de la super-classe dans le polymorphisme

Comment puis-je accéder à l'état de la variable de classe KeyBoardPlayer avec un objet de la classe KalaPlayer?

/**
  * An abstract class representing a player in Kala.  Extend this class
  * to make your own players (e.g. human players entering moves at the keyboard
  * or computer players with programmed strategies for making moves).
  */
public abstract class KalaPlayer {

    /**
      * Method by which a player selects a move.
      * @param gs The current game state
      * @return A side pit number in the range 1-6
      * @throws NoMoveAvailableException if all side pits for the player are empty 
      * (i.e. the game is over)
      */
    public abstract int chooseMove(KalaGameState gs) throws NoMoveAvailableException;

}



public class KeyBoardPlayer extends KalaPlayer {
    /**
     * Method by which a player selects a move.
     * @param gs The current game state
     * @return A side pit number in the range 1-6
     * @throws NoMoveAvailableException if all side pits for the player are empty 
     * (i.e. the game is over)
     */
    public KalaGameState state;

    public KeyBoardPlayer() {
        System.out.println("Enter the number of stones to play with: ");
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  
            int key = Integer.parseInt(br.readLine());  
            state=new KalaGameState(key);
            //key=player1.state.turn;
        } catch(IOException e) {
            System.out.println(e);
        }
    }

    public int chooseMove(KalaGameState gs) throws NoMoveAvailableException{
        return 0;
    }
}

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class KalaGame {
    KalaPlayer player1,player2;

    public KalaGame(KeyBoardPlayer Player1,KeyBoardPlayer Player2) {
        //super(0);
        player1=new KeyBoardPlayer();
        player2 = new KeyBoardPlayer(); 
        //player1=Player1;
        //player2=Player2;
        //player1.state  ****how can i access the stae variable from Keyboard CLass using object from KalaPlayer 
        key=player1.state.turn;
    }

    public void play() {
        System.out.println("Enter the number of stones to play with: ");
        try {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  
            int key = Integer.parseInt(br.readLine());  
            System.out.println(key);
            KalaGameState state=new KalaGameState(key);
            printGame();
        } catch(IOException  e) {
            System.out.println(e);
        }
    }
}

OriginalL'auteur fari | 2010-04-07