【发布时间】:2015-11-10 08:56:04
【问题描述】:
我想创建一个基类Student,其中包含一个方法changeName。我希望studentclasses派生自基类Student,例如collegestudent等。我希望能够更改学生的姓名。
我有这个代码:
public abstract class Student
{
public virtual void changeName(CollegeStudent s, string name)
{
s.firstName = name;
}
public abstract void outputDetails();
}
public class CollegeStudent : Student
{
public string firstName;
public string lastName;
public string major;
public double GPA;
public override void outputDetails()
{
Console.WriteLine("Student " + firstName + ");
}
}
我想知道是否可以将 public virtual void changeName 参数更改为接受来自 Student 的任何派生类的泛型参数。
这在 c# 中可行吗?
(类似这样:public virtual void changeName(Anyderivedclass s, string name)
【问题讨论】:
-
是的,你可以在 C#
中使用泛型 -
您的 firstname、lastname 也应该在基类中。这将是一个更好的结构,因为每个学生至少有一个名字
-
谢谢大家。 Dhaval Patel:我将如何在这个例子中应用它?
标签: c#