각 운동 선수의 이름과 나이를 취하는 "스포츠"추상 클래스의 10 명의 선수의 배열에 대한 객체를 인스턴스화하려고합니다. "테니스"운동 선수를위한 수업과 "골프"운동 선수를위한 수업.C에서 기본 클래스와 파생 클래스를 사용하여 배열의 객체 인스턴스화
class Program
{
static void Main(string[] args)
{
Sport[] athlete = new Sport[10];
athlete[0] = new Tennis("John Smith", 18, "Tennis", 5.0, 92);
athlete[1] = new Tennis("Lisa Townsend", 15, "Tennis");
athlete[2] = new Tennis("Brian Mills", 17, "Tennis", 4.0, 83);
athlete[3] = new Golf("Stacey Bell", 16, "Golf", 10, 20);
athlete[4] = new Golf("Tom Spehr", 18, "Golf", 9, 12);
athlete[5] = new Golf("Sam Calen", 14, "Golf");
athlete[6] = new Tennis("Karen Strong", 17, "Tennis", 3.0, 78);
athlete[7] = new Golf("Ken Able", 15, "Golf", 15, 16);
athlete[8] = new Tennis("Troy Soni", 18, "Tennis", 4.5, 93);
athlete[9] = new Golf("Toni Palmer", 17, "Golf", 8, 22);
for (int i = 0; i < 10; i++)
{
Console.WriteLine("{0}", athlete[i]);
}
}
}
이처럼 배열을 인쇄하려고하는데 제대로 출력되지 않습니다. 내가
Console.WriteLine ("{0} {1}"선수 [I] .name을, 선수 [I] .age) 개별적으로 데이터 필드를 인쇄하려고하면 또한
나는 그것을 얻을 수 있습니다 각 선수의 이름과 나이를 출력하지만 다른 필드를 추가하려고하면 출력되지 않습니다. 테니스 또는 골프보다는 각 배열 객체를 "스포츠"로 선언해야합니까?
편집 : 여기
파생 테니스 클래스
class Tennis : Sport
{
private string type;
private double rating;
private int serveSpeed;
public Tennis(string name, int age, string type, double rating, int serveSpeed) : base(name, age)
{
Rating = rating;
Type = type;
ServeSpeed = serveSpeed;
}
public Tennis(string name, int age, string type) : base(name, age)
{
}
public double Rating
{
get
{
return rating;
}
set
{
rating = value;
}
}
public string Type
{
get
{
return type;
}
set
{
type = "Tennis";
}
}
public int ServeSpeed
{
get
{
return serveSpeed;
}
set
{
serveSpeed = value;
}
}
(골프 클래스는 같은 방법으로 변수 이름에 단지 약간의 변화 구성되어)있는 스포츠 클래스 여기
abstract class Sport
{
protected string name;
protected int age;
public Sport(string name, int age)
{
Name = name;
Age = age;
}
public string Name
{
get
{
return name;
}
set
{
name = value;
}
}
public int Age
{
get
{
return age;
}
set
{
age = value;
}
}
public abstract void Performance();
}
하고있다
'스포츠', '골프'및 '테니스'수업은 어떻게 생겼습니까? –
해당 클래스에 대해 ToString을 구현하십시오. –
"제대로 출력되지 않습니다"는 아무 것도 알려주지 않습니다. 너는 무엇을 기대 하느냐? 너는 무엇을 관찰하고 있니? 예상 한 것이 정확하다고 생각하는 이유는 무엇입니까? –