这是我的任务:
使用。设计和实现弦乐器类 遵循指南:
您的乐器的数据字段应包括字符串数量,a 表示字符串名称的字符串名称数组(例如E,A,D,G)和 用于确定仪器是否已调谐的布尔字段,以及是否 乐器正在播放。欢迎您添加其他内容 数据字段,如果你愿意。
用于设置已调整和当前播放字段的构造方法 为假。其他方法
- 调整乐器,
- 开始播放乐器,
- 停止乐器演奏。
醇>您认为合适的其他方法(添加至少一种唯一方法)。
使用图表工具(例如PPT,Visio)创建UML类图 你的选择。准备图表并将它们放在Word文档中 以及您班级的简要说明。
为您的乐器创建一个C#类。确保您的代码匹配 包括您的设计规格和一些最小功能。 例如,如果你调用了violin.play()方法,你应该在 小提琴正在播放的印数最少。类似的功能应该 当您停止播放,调整或调用任何方法时提供。
到目前为止我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StringedMusInsApp
{
public class Guitarra
{
public static void Main (string[] args);
//variable that stores the guitarra's name
private String nameValue;
//variable to store strings
private int numberOfStringsValue;
private char[] stringsValue = { 'E', 'A', 'D', 'G', 'B', 'E' };
//field for tune of the guitar,
private bool tunedValue;
//field for playing of guitar
private bool playingValue;
//method to set tune and playing false.
public Guitarra()
{
this.tunedValue = false;
this.playingValue = false;
}
// gets and sets
public String Name
{
get
{
return nameValue;
}
set
{
nameValue = value;
}
}
public int NumberOfStrings
{
get
{
return numberOfStringsValue;
}
set
{
numberOfStringsValue = value;
}
}
public void DisplayStringValues()
{
Console.WriteLine("String Values: ");
for (int i = 0; i < stringsValue.Length; i++)
{
Console.Write(stringsValue[i] + " ");
}
Console.WriteLine();
}
public bool Tuned
{
get
{
return tunedValue;
}
set
{
tunedValue = value;
}
}
public bool Playing
{
get
{
return playingValue;
}
set
{
playingValue = value;
}
}
//Method to play the violin
public void playGuitar()
{
Console.WriteLine("The guitar is now playing.");
Playing = true;
}
//Method to sto playing the violin
public void stopGuitar()
{
Console.WriteLine("The guitar has stopped playing.");
Playing = false;
}
//Method to tune the Guitar
public void tuneGuitar()
{
Console.WriteLine("The guitar is tuned.");
Tuned = true;
}
//Method to stop tuning the Guitar
public void stopTuneGuitar()
{
Console.WriteLine("The guitar has stopped tuning.");
Tuned = false;
}
}
}
但是我收到了这个错误:
错误1'StringedMusInsApp.Guitarra.Main(string [])'必须声明一个正文,因为它没有标记为abstract,extern或partial。
答案 0 :(得分:4)
错误消息告诉您完全出了什么问题:
'StringedMusInsApp.Guitarra.Main(string [])'必须声明一个正文,因为它没有标记为abstract,extern或partial。
查看Main(string[])
的方法声明:
public static void Main (string[] args);
没有方法体。但由于它不是抽象的,外部的或部分的方法,它需要一个方法体。定义一个:
public static void Main (string[] args)
{
// do something here
}
另请注意,如果您不在Main(string[])
方法中执行任何操作,那么您的应用将无法执行任何操作。它只是立即打开和关闭而不执行任何代码。 Main(string[])
方法是应用程序的入口点。
如果您将应用程序主机代码(入口点Main(string[])
,基本上是执行程序的内容)与逻辑代码(Guitarra
类分开,那么构建可能会变得更容易,任何与您正在做的事情相关的业务逻辑,等等)。对于这么小的东西,没有必要将它们拆分成自己的组件或使用DI或类似的东西,但它们至少应该是他们自己的类。