高手请进!面向对象编程,C#编程:

编写出一个通用的人员类(Person),该类具有姓名(Name)、年龄(Age)、性别(Sex)等域。然后对Person 类的继承得到一个学生类(Student),该类能够存放学生的5门课的成绩,并能求出平均成绩,要求对该类的构造函数进行重载,至少给出三个形式。最后编程对student类的功能进行验证。

//通用的人员类
public class Person
{
private string name;
private string sex;
private int age;

public string Name
{
get { return name; }
set { name = value; }
}

public string Sex
{
get { return sex; }
set { sex = value; }
}

public int Age
{
get { return age; }
set { age = value; }
}

public Person()
{

}

public Person(string name,string sex,int age)
{
this.name = name;
this.sex = sex;
this.age = age;
}
}

//继承自Person的学生类
public class Student : Person
{
//存放五门课程成绩的数组
private float[] score = new float[5];
//存放平均分的变量
private float average=0;

//存储五门成绩的数组的属性
public float [] Score
{
get { return score; }
set { score = value; }
}

//第一种构造函数
public Student()
{

}

//第二种构造函数
public Student(string name,string sex,int age):
base(name,sex,age)
{

}

//第三种构造函数
public Student(string name, string sex, int age, float[] score)
{
this.Name = name;
this.Sex = sex;
this.Age = age;
this.Score = score;
}

//求平均分的方法
public float Average()
{
for (int i = 0; i < 5; i++)
average += score[i];
return average / 5;
}
}

class Program
{
static void Main(string[] args)
{
float[] score = new float[5] { 99, 80, 85, 70, 30 };

//使用第一种构造函数
Student s1 = new Student();
s1.Name = "王强";
s1.Sex = "男";
s1.Age = 18;
s1.Score = score;
Console.WriteLine("姓名:" + s1.Name + " " + "性别:" + s1.Sex + " " + "年龄:" + s1.Age + " " + "平均分:" + s1.Average());

//使用第二种构造函数
Student s2 = new Student("小明", "男", 20);
s2.Score = score;
Console.WriteLine("姓名:" + s2.Name + " " + "性别:" + s2.Sex + " " + "年龄:" + s2.Age + " " + "平均分:" + s2.Average());

//使用第三种构造函数
Student s3 = new Student("小红","女",19,score);
Console.WriteLine("姓名:" + s3.Name + " " + "性别:" + s3.Sex + " " + "年龄:" + s3.Age + " " + "平均分:" + s3.Average());

Console.Read();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-06-02
我这可是纯用记事本敲得呀

public class Person
{

public Person(){}
public Person(string name,int age,bool sex)
{
Name=name;
Age=age;
Sex=sex;
}
private string _name;
private int _age;
private bool _sex;
public string Name
{
get{return _name;}
set{_name=value;}
}
public int Age
{
get{return _age;}
set{_age=value;}
}
public bool Sex
{
get{return _sex;}
set{_sex=value;}
}

}

public class Student:Person
{
public Student(){}
public Student(string name,int age,bool sex)
{
base(name,age,sex);
}
public Student(string name,int age,bool sex,double lesson1,double lesson2,double lesson3,double lesson4,double lesson5)
{
base(name,age,sex);
Lesson1=lesson1;
Lesson1=lesson2;
Lesson1=lesson3;
Lesson1=lesson4;
Lesson1=lesson5;
}
private double _lesson1;
private double _lesson2;
private double _lesson3;
private double _lesson4;
private double _lesson5;
public double Lesson1
{
get{return _lesson1;}
set{_lesson1=value;}
}
public double Lesson2
{
get{return _lesson2;}
set{_lesson2=value;}
}
public double Lesson3
{
get{return _lesson3;}
set{_lesson3=value;}
}
public double Lesson4
{
get{return _lesson4;}
set{_lesson4=value;}
}
public double Lesson5
{
get{return _lesson5;}
set{_lesson5=value;}
}
public double Avg
{
get{return (Lesson1+Lesson2+Lesson3+Lesson4+Lesson5)/5;}
}
}
public class Test
{
public static void main()
{
Student s1=new Person("Jim",20,false);
Console.WriteLine(s1.Name);
Person s2=new Student("smith",22,true);
Console.WriteLine(s2.Name);
Student s3=new Student("Bill",30,false,30.5,20.7,2.22,90,5.08);
Console.WriteLine(s3.Name);
Console.WriteLine(s3.Avg);
}
}
相似回答