Difference between revisions of "2022 - Card"
(→The Constructor Method) |
|||
Line 55: | Line 55: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | =Other Methods= | ||
+ | If you notice, every other method can be overridden in a subclass (ie virtual). |
Revision as of 13:48, 22 December 2021
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).