2022 - Card

From TRCCompSci - AQA Computer Science
Revision as of 14:48, 22 December 2021 by Admin (talk | contribs) (The Constructor Method)
Jump to: navigation, search

This is the base class for all cards. Remember, 'protected' means that it is available only within this class and any subclasses. Also remember a method marked as 'virtual' can be overridden in a subclass. The term 'static' means that it belongs to the class itself is not available in object of the class.

The Code

class Card
    {
        protected int CardNumber, Score;
        protected static int NextCardNumber = 1;

        public Card()
        {
            CardNumber = NextCardNumber;
            NextCardNumber += 1;
            Score = 0;
        }

        public virtual int GetScore()
        {
            return Score;
        }

        public virtual void Process(CardCollection deck, CardCollection discard,
            CardCollection hand, CardCollection sequence, Lock currentLock,
            string choice, int cardChoice)
        {
        }

        public virtual int GetCardNumber()
        {
            return CardNumber;
        }

        public virtual string GetDescription()
        {
            if (CardNumber < 10)
            {
                return " " + CardNumber.ToString();
            }
            else
            {
                return CardNumber.ToString();
            }
        }
    }

The Constructor Method

Remember the constructor method of a class is a public method called exactly the same name as the class. So in this case:

        public Card()
        {
            CardNumber = NextCardNumber;
            NextCardNumber += 1;
            Score = 0;
        }

Other Methods

If you notice, every other method can be overridden in a subclass (ie virtual).