Is it possible to access variable of subclass using object of superclass in polymorphism

Posted by fari on Stack Overflow See other posts from Stack Overflow or by fari
Published on 2010-04-07T14:27:49Z Indexed on 2010/04/07 14:33 UTC
Read the original article Hit count: 311

Filed under:
|
|

how can i access state varibale of class keyboard with object of class 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);
        }

        }

© Stack Overflow or respective owner

Related posts about polymorphism

Related posts about subclass