C# 多态性-运动
好的,这就是练习: 定义一个名为student的类, 包含三个年级的学生。 该类将有一个函数 计算平均成绩。现在 定义一个名为student1的类 将源于学生和遗嘱 添加一个函数来计算 等级。在主程序中,定义 类型的student变量和对象 学生1。执行文件的放置 对象,并运行 学生的作用1 注意:这不是家庭作业,我是自己学的。 代码如下:C# 多态性-运动,c#,C#,好的,这就是练习: 定义一个名为student的类, 包含三个年级的学生。 该类将有一个函数 计算平均成绩。现在 定义一个名为student1的类 将源于学生和遗嘱 添加一个函数来计算 等级。在主程序中,定义 类型的student变量和对象 学生1。执行文件的放置 对象,并运行 学生的作用1 注意:这不是家庭作业,我是自己学的。 代码如下: class Student { protected int grade1, grade2, grade3; public Student(i
class Student
{
protected int grade1, grade2, grade3;
public Student(int grade1, int grade2, int grade3)
{
this.grade1 = grade1;
this.grade2 = grade2;
this.grade3 = grade3;
}
public double Average()
{
return (grade1 + grade2 + grade3) / 3;
}
}
class Student1 : Student
{
public Student1(int grade1, int grade2, int grade3)
: base(grade1, grade2, grade3)
{
}
public double Sum()
{
return grade1 + grade2 + grade3;
}
}
class Program
{
static void Main(string[] args)
{
}
}
我真的不知道在主课上该做什么,我该如何做这个安排,而且,我想知道这样做的好处是什么,如果到目前为止我有错误,请告诉我,非常感谢。下面就是练习中描述的内容:
// Define a student variable.
Student s;
// And object of type Student1.
Student1 s1 = new Student1(10, 5, 8);
// Perform placement of the object to variable.
s = s1;
// And run the function of Student1.
// But it makes no sense...
s1.Sum();
// Maybe the exercise wants it:
((Student1)s).Sum();
// Which makes no sense too, since is making an idiot cast.
// But for learning purposes, ok.
嗯,我不认为这个练习是在利用任何优势。我建议您阅读该链接以查看实际使用示例。以下是练习中描述的内容:
// Define a student variable.
Student s;
// And object of type Student1.
Student1 s1 = new Student1(10, 5, 8);
// Perform placement of the object to variable.
s = s1;
// And run the function of Student1.
// But it makes no sense...
s1.Sum();
// Maybe the exercise wants it:
((Student1)s).Sum();
// Which makes no sense too, since is making an idiot cast.
// But for learning purposes, ok.
嗯,我不认为这个练习是在利用任何优势。我建议您阅读该链接以查看实际使用示例。从面向对象的角度来看,我在代码中看到的主要缺陷是使Student1从Student扩展。当使用继承时,请确保它是一个真正的扩展。你最好是让一个学生上课,并实施总和和平均法 我认为从OOP的角度来看,以下内容就足够了
class Student
{
protected int grade1, grade2, grade3;
public Student(int grade1, int grade2, int grade3)
{
this.grade1 = grade1;
this.grade2 = grade2;
this.grade3 = grade3;
}
public double Average()
{
return (grade1 + grade2 + grade3) / 3;
}
public double Sum()
{
return grade1 + grade2 + grade3;
}
}
从OOP的角度来看,我在代码中看到的主要缺陷是使Student1从Student扩展。当使用继承时,请确保它是一个真正的扩展。你最好是让一个学生上课,并实施总和和平均法 我认为从OOP的角度来看,以下内容就足够了
class Student
{
protected int grade1, grade2, grade3;
public Student(int grade1, int grade2, int grade3)
{
this.grade1 = grade1;
this.grade2 = grade2;
this.grade3 = grade3;
}
public double Average()
{
return (grade1 + grade2 + grade3) / 3;
}
public double Sum()
{
return grade1 + grade2 + grade3;
}
}
也许这就是它的意思。。虽然在我眼里这句话真的很糟糕 在主程序中,定义student1类型的student变量和对象。将对象放置到变量并运行student1的函数
也许这就是它的意思。。虽然在我眼里这句话真的很糟糕 在主程序中,定义student1类型的student变量和对象。将对象放置到变量并运行student1的函数
好的:我想这就是他们要找的,尽管英语有点蹩脚: 1声明学生变量
Student s;
2声明Student1对象
Student1 s1 = new Student1(1,2,3);
3执行对象到变量的放置:
s = s1;
4运行函数注意:您必须将s转换为Student1类型才能访问特定于类型的函数Sum
Console.WriteLine(((Student1)s).Sum());
好的:我想这就是他们要找的,尽管英语有点蹩脚: 1声明学生变量
Student s;
2声明Student1对象
Student1 s1 = new Student1(1,2,3);
3执行对象到变量的放置:
s = s1;
4运行函数注意:您必须将s转换为Student1类型才能访问特定于类型的函数Sum
Console.WriteLine(((Student1)s).Sum());
他们要求:定义一个student1类型的student变量和对象。执行对象到变量的放置并运行student1的函数。恐怕您的答案似乎不符合要求。@ErickPetru哦,我明白,但您能告诉我执行此替换的好处吗?编辑如下句子:在主程序中,定义student1类型的学生变量和对象。将对象放置到变量并运行Student1的函数。再次编辑解释代码并建议更多阅读。他们要求:,定义Student1类型的学生变量和对象。执行对象到变量的放置并运行student1的函数。恐怕您的答案似乎不符合要求。@ErickPetru哦,我明白,但您能告诉我执行此替换的好处吗?编辑如下句子:在主程序中,定义student1类型的学生变量和对象。执行对象到变量的放置并运行Student1的函数。再次编辑解释代码并建议更多阅读。我不知道在主类中要做什么,我如何执行此放置,而且,我想知道这样做的好处是什么,如果到目前为止我有错误,请告诉我,非常感谢。你已经通过编译器运行了吗?它抱怨学生吗?平均水平?伙计们,问题的这部分在哪里在主程序中,定义student1类型的student变量和对象。将对象放置到变量并运行student1的函数。到目前为止一切都很好,但他们让我将对象放置到变量。我真的不知道在主类中要做什么,我如何执行此放置,而且,我想知道这样做的好处是什么,如果到目前为止我有错误,请告诉我,非常感谢。你已经通过编译器运行了吗?它抱怨学生吗?平均水平?伙计们,问题的这部分在哪里大体上
gram,定义student1类型的student变量和对象。执行对象到变量的放置并运行student1的函数。到目前为止一切都很好,但他们让我执行对象到变量的放置。我相信这是在教语法等基础知识。如果你是新手,我强烈建议,您需要花时间学习OOP的原则,尤其是继承与组合。祝你好运!我正在通过这本书学习,我已经学会了继承,有什么想法可以做吗?这个答案与所问的问题无关-这是一个具体的问题,不是一个关于如何实现功能的最佳建议的请求。我可能误解了最初的问题。我想他要求的更多,包括让我知道到目前为止我是否有错误。我很抱歉。我肯定它是在教语法等基础知识。如果你是新手,我强烈建议你花点时间学习面向对象编程的原理,尤其是继承与组合。祝你好运!我正在通过这本书学习,我已经学会了继承,有什么想法可以做吗?这个答案与所问的问题无关-这是一个具体的问题,不是一个关于如何实现功能的最佳建议的请求。我可能误解了最初的问题。我想他要求的更多,包括让我知道到目前为止我是否有错误。对不起,没错,你能告诉我这样做的目的是什么:将对象放置到变量中吗?顺便说一句,你能告诉我如果他们让我将变量放置到对象中,我该怎么做吗?我一点也不明白这个练习的目的-这不是一个面向对象设计的好例子-我的建议是更好的书!确切地你能告诉我这样做的目的是什么:将对象放置到变量中吗?顺便说一句,你能告诉我如果他们让我将变量放置到对象中,我该怎么做吗?我一点也不明白这个练习的目的-这不是一个面向对象设计的好例子-我的建议是更好的书!