如何解决从函数抽象类,学习OOP
论坛的新手,我被困在从非常基本的函数创建抽象类的逻辑上。我知道继承和覆盖如何与抽象类一起工作,但我无法弄清楚将此函数转换为抽象类背后的逻辑。任何帮助将不胜感激。
此外,我这样做是为了帮助我了解基本原理并查看我应该应用哪些其他选项或良好做法。再次感谢您的帮助。
代码:
private readonly List<Shape> Square1 = new List<Shape>();
private void GenerateSquare()
{
Shape newSquare = RandomSquareLocation();
while (Square1.Any(square => square.X == newSquare.X && square.Y == newSquare.Y))
{
newSquare = RandomSquareLocation();
}
Square1.Add(newSquare);
}
private Shape RandomSquareLocation()
{
int maxXPosition = pictureBox1.Size.Width / playerOne.Width;
int maxYPosition = pictureBox1.Size.Height / playerOne.Height;
return new Shape { X = random.Next(0,maxXPosition),Y = random.Next(0,maxYPosition) };
}
private readonly List<Shape> Square1 = new List<Shape>();
private void GenerateSquare()
{
Shape newSquare = RandomSquareLocation();
while (Square1.Any(square => square.X == newSquare.X && square.Y == newSquare.Y))
{
newSquare = RandomSquareLocation();
}
Square1.Add(newSquare);
}
private Shape RandomSquareLocation()
{
int maxXPosition = pictureBox1.Size.Width / playerOne.Width;
int maxYPosition = pictureBox1.Size.Height / playerOne.Height;
return new Shape { X = random.Next(0,maxYPosition) };
}
GenerateSquare
将在图片框的某处生成一个正方形。至少从我的观点来看,为什么我需要抽象类的原因是。如果需要多个不同的 Squeare,则需要一遍又一遍地补充 GenerateSquare
函数。 RandomSquareLocation
函数充当方块生成位置的基础
解决方法
我不确定我是否理解你的问题。
但我认为你想要做的是让你的方法虚拟。
虚方法提供默认实现。它可以在继承自基类的类中被覆盖。
抽象方法必须由继承自基类的类实现。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。