如何让派生类从基类继承变量以具有不同的值
本文关键字:变量 继承 派生 基类 | 更新日期: 2023-09-27 17:56:46
>我有一个简单的游戏,在图片框中单击移动的图像会给玩家一个点,我计划为此添加另一个图像,以便子类在单击不同的图像时授予用户不同数量的分数。我想知道如何让派生类继承基类中的变量并更改数值。
以下是我的代码的相关部分:
public class Monster
{
public static int Score = 1;
public Monster()
{
}
}
class Skeleton:Monster
{
public Skeleton()
{
Score = 2;
}
}
public partial class Form1 : Form
{
PictureBox[] boxes;
int initialscore = 0;
public Form1()
{
InitializeComponent();
}
private void boxes_MouseClick(object sender, MouseEventArgs e)
{
for (int x = 0; x < 27; x++)
{
if (sender.Equals(boxes[x]))
{
Image grass = Image.FromFile("swamp.png");
PictureBox temp = (PictureBox)sender;
temp.Image = grass;
}
if (sender.Equals(boxes[x]))
{
PictureBox pb = (PictureBox)sender;
if (pb.Tag == "skeleton.png")
{
addScore(Monster.Score);
}
}
}
label1.Text = " Score: " +initialscore.ToString();
}
public void addScore(int add)
{
initialscore += add;
label1.Text = " Score: " + initialscore.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
addScore(0);
}
}
如何让骷髅职业的分数值与怪物职业的分数值不同?是否需要添加/更改有关表格1的其他内容,如果是,需要做些什么来维护有效的分数系统?
这应该可以解决问题:
public class Monster
{
public Monster()
{
this.Score = 1;
}
public int Score
{
get;
set;
}
}
public class Skeleton : Monster
{
public Skeleton()
: base()
{
this.Score = 2;
}
}