定义一个Person类,具有属性:姓名,性别,籍贯,出生年月,具有方法:自我介绍
定义一个Student类继承自Person,新增属性:学号、专业,具有方法:自我介绍
定义一个GraduateStudent继承自Student,新增属性:研究方向,具有方法:自我介绍
为三个类分别添加有参和无参的构造函数
在测试类中创建三个类的对象,并调用其自我介绍方法进行介绍。
我不知道怎样将子类Student和子类GraduateStudent在Main()中实现,还有birthday我编写的是错的。
这是我自己写的代码:
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
GraduateStudent g1 = new GraduateStudent("王丽", "女", "1998-10-48", "18004", "软件技术", "计算机");
g1.PrintPerson();
g1.PrintStudent();
Console.ReadLine();
}
}
//定义一个Person基类
public class Person
{
public string name;//姓名
private string sex;//性别
private string jiguan;//籍贯
private DateTime birthday;//出生年月
//定义属性
public string Sex
{
set { sex = value; }
get { return sex; }
}
public string Jiguan
{
set { jiguan = value; }
get { return jiguan; }
}
public DateTime Birthday
{
set { birthday = value; }
get { return birthday; }
}
//定义无参实例构造函数
public Person ()
{
}
//打印person信息
public void PrintPerson()
{
Console.WriteLine("自我介绍:");
}
}
//定义一个Student类,继承自Person类
public class Student : Person
{
private string sno;//学号
private string major;//专业
//定义属性
public string Sno
{
set { sno = value; }
get { return sno; }
}
public string Major
{
set { major = value; }
get { return major; }
}
//定义有参实例构造函数
public Student(string name, string sex, DateTime brithday, string sno, string major)
{
this.name = name;
this.Sex = sex;
this.Birthday = brithday;
this.Sno = sno;
this.Major = major;
}
//定义无参实例构造函数
public Student ()
{
}
//打印学生信息
public void PrintStudent()
{
Console.WriteLine("自我介绍:");
}
}
//定义派生类GraduateStudent继承Student
public class GraduateStudent : Student
{
private string yanjiu;//就业方向
//定义属性
public string Yanjiu
{
set { yanjiu = value; }
get { return yanjiu; }
}
//无参实例构造函数
public GraduateStudent ()
{
}
//带参实例构造函数
public GraduateStudent(string name, string sex, DateTime brithday, string sno, string major, string yanjiu)
{
this.name = name;
this.Sex = sex;
this.Birthday = brithday;
this.Sno = sno;
this.Major = major;
this.Yanjiu = yanjiu;
}
//打印毕业学生信息
public void PrintGraduateStudent()
{
base.PrintPerson();
Console.WriteLine("姓名:{0}", name);
Console.WriteLine("性别:{0}", Sex);
Console.WriteLine("生日:{0}", Birthday);
Console.WriteLine("学号:{0}", Sno);
Console.WriteLine("专业:{0}", Major);
Console.WriteLine("研究方向:{0}", Yanjiu);
}
}
}
重写override
表达得这么好, 直接翻译出来就行了呀
用什么语言呢,中文的话,你写的已经一级棒了
class Program
{
static void Main(string[] args)
{
Person student = new Student();
Person graduateStudent = new Student();
}
}
我也不知道你提出问题的目的是什么,让别人知道你要干什么,这样别人才能帮你,我也是自学的,把问题提好了那就解决了一半,你的表述无法判断你的需求是什么
birthday没有写错,是你传值时候没有注意格式转换导致的把,这个可以自行百度
建议把想要问的表达出来,是想让人把代码写好给你,还是哪里不懂。
– 220✈ 5年前