Difference between revisions of "2022 - ToolCard"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
Line 52: Line 52:
 
</syntaxhighlight>
 
</syntaxhighlight>
 
=New Variables=
 
=New Variables=
The ToolCard has additional variables not found in the parent class. These are 'ToolType' and 'Kit', they are both protected which means they would be available in any subclass of 'ToolCard'.
+
The ToolCard has additional variables not found in the parent class. These are 'ToolType' and 'Kit', they are both protected which means they would be available in any subclass of ToolCard.
 
=The Constructors=
 
=The Constructors=
 +
ToolCard has 2 constructor methods, this is okay as long as they have different parameters. These are the constructors:
 +
<syntaxhighlight lang=c#>
 +
        public ToolCard(string t, string k) : base()
 +
        {
 +
            ToolType = t;
 +
            Kit = k;
 +
            SetScore();
 +
        }
 +
 +
        public ToolCard(string t, string k, int cardNo)
 +
        {
 +
            ToolType = t;
 +
            Kit = k;
 +
            CardNumber = cardNo;
 +
            SetScore();
 +
        }
 +
</syntaxhighlight>

Revision as of 14:00, 22 December 2021

This is a subclass of Card.

The Code

class ToolCard : Card
    {
        protected string ToolType;
        protected string Kit;

        public ToolCard(string t, string k) : base()
        {
            ToolType = t;
            Kit = k;
            SetScore();
        }

        public ToolCard(string t, string k, int cardNo)
        {
            ToolType = t;
            Kit = k;
            CardNumber = cardNo;
            SetScore();
        }

        private void SetScore()
        {
            switch (ToolType)
            {
                case "K":
                    {
                        Score = 3;
                        break;
                    }
                case "F":
                    {
                        Score = 2;
                        break;
                    }
                case "P":
                    {
                        Score = 1;
                        break;
                    }
            }
        }

        public override string GetDescription()
        {
            return ToolType + " " + Kit;
        }
    }

New Variables

The ToolCard has additional variables not found in the parent class. These are 'ToolType' and 'Kit', they are both protected which means they would be available in any subclass of ToolCard.

The Constructors

ToolCard has 2 constructor methods, this is okay as long as they have different parameters. These are the constructors:

        public ToolCard(string t, string k) : base()
        {
            ToolType = t;
            Kit = k;
            SetScore();
        }

        public ToolCard(string t, string k, int cardNo)
        {
            ToolType = t;
            Kit = k;
            CardNumber = cardNo;
            SetScore();
        }