C# I';I’’我正在为学校的作业写一些(OOP),我遇到了一些问题 首先,让我向您展示问题。 创建一个名为“student”的类 类的属性是“名称”和“等级” 类的方法是“Rate”,它接收名称 和学生的成绩,如果成绩>=60,则打印“通过”,否则打印“失败” 为三个学生创建三个不同的对象
我创建了一个类和属性。 但我不知道剩下的我尽力了。 老师没有给我们设置和获取方法 这是我的代码:C# I';I’’我正在为学校的作业写一些(OOP),我遇到了一些问题 首先,让我向您展示问题。 创建一个名为“student”的类 类的属性是“名称”和“等级” 类的方法是“Rate”,它接收名称 和学生的成绩,如果成绩>=60,则打印“通过”,否则打印“失败” 为三个学生创建三个不同的对象,c#,class,oop,methods,attributes,C#,Class,Oop,Methods,Attributes,我创建了一个类和属性。 但我不知道剩下的我尽力了。 老师没有给我们设置和获取方法 这是我的代码: 您正在使用学生(“omar”,55)但是没有构造函数 class student { string name; double grade; public student(string name,double grade) { this.name = name; this.grade = grade; } publ
您正在使用
学生(“omar”,55)代码>但是没有构造函数
class student
{
string name;
double grade;
public student(string name,double grade)
{
this.name = name;
this.grade = grade;
}
public string Rate()
{
if (grade >= 60)
{
return "pass";
}
else
{
return "fail";
}
}
}
这是一个关于OOP如何工作的粗略概念
代码问题:
在创建新对象时,您已声明了一个不带out参数和传递参数的构造函数。
(将参数添加到构造函数中,使用此
关键字以消除命名歧义)
您正在调用一个方法(Rate()),该方法需要一个没有参数的参数。
(您不需要通过grade,因为这是类方法,并且对象中已经有grade值。)
您正试图打印返回void的函数。
(所以我们返回一个字符串,所以当我们调用该方法时,该方法将返回一个要打印的字符串。)
更新:
请看@CobyC的回答,他说的那一点我完全没有注意到你的作业状态
类的方法是“Rate”,它接收类的名称和等级
如果成绩>=60,学生和打印“通过”,否则“失败”
但是.Rate
的实现与要求不匹配
您的费率方法需要如下所示:
public string Rate(string name, double grade)
{
...assign student name and grade
... Implement the pass fail code
.. return the pass or fail string.
}
不需要使用名称和速率的构造函数。看看您为student
类创建的构造函数。它是默认构造函数(即,它没有参数),但在创建实例时,您使用的是字符串和int
调用它。在构造函数的代码中,您只需将成员字段的值分配给成员字段(这不起任何作用),并考虑您在该构造函数中真正想要的内容
public string Rate(string name, double grade)
{
...assign student name and grade
... Implement the pass fail code
.. return the pass or fail string.
}