永发信息网

那位C#高手帮我编个程

答案:3  悬赏:60  手机版
解决时间 2021-06-08 22:36

题目如下:

定义Person类,类中包含姓名,性别,出生年月字段,定义一个talk方法(方法的功能为输出“我会说中文”),定义一个带参数的talk方法(方法的功能为输出参数传递过来的我所掌握的语言);分别定义二个子类:一个是大学生类,大学生类中talk方法输出“我会说中文、英语、俄语”,一个是小学生类,小学生类中talk方法输出“我会说中文和英语”,分别创建以上类的实例,进行测试。

是关于C#多态性的;谢了

最佳答案
using System;
using System.Collections.Generic;
using System.Text;


namespace Person类
{
class Person
{
protected string name, sex, date;
public void talk()
{
Console.WriteLine("我会说中文");
}
public void talk(string language)
{
Console.WriteLine("我会说" + language);
}
}


class DaStudent:Person
{
public void talk()
{
Console.WriteLine("我会说中文、英语、俄语");
}
}


class XiaoStudent:Person
{
public void talk()
{
Console.WriteLine("我会说中文和英语");
}
}


class Program
{
static void Main(string[] args)
{
Person a = new Person();
Console.WriteLine("a是Person的实例,下面是a的行为:");
a.talk();
a.talk("日语");
DaStudent b = new DaStudent();
Console.WriteLine("a是DaStudent的实例,下面是a的行为:");
b.talk();
XiaoStudent c = new XiaoStudent();
Console.WriteLine("a是XiaoStudent的实例,下面是a的行为:");
c.talk();
}
}
}



全部回答
class Program { static void Main(string[] args) { Person p = new Person("张三","男","1960-09-01"); Person xiao = new Pupil("李四","男","1960-09-01"); Person da = new Academician("王五","男","1960-09-01"); p.talk("中文"); xiao.talk("中文","英文"); da.talk("中文","英文","俄语"); Console.ReadLine(); } } class Person { protected string _name; protected string _sex; protected string _birthStr; public Person() { } public Person(string name , string sex,string birth) { this._name = name; this._sex = sex; this._birthStr = birth; } public void talk(string language1) { Console.WriteLine("我叫:{0},是个{1}孩,生日是:{2},我会说{3}。",this._name,this._sex,this._birthStr,language1); } public virtual void talk(string language1, string language2) { } public virtual void talk(string language1, string language2, string language3) { } } //小学生 class Pupil:Person { public Pupil() { } public Pupil(string name, string sex, string birth) { base._name = name; base._sex = sex; base._birthStr = birth; } public override void talk(string language1, string language2) { Console.WriteLine("我叫:{0},是个{1}孩,生日是:{2},在读小学,我会说{3}和{4}。",base._name,base._sex,base._birthStr,language1,language2); } } //大学生 class Academician : Person { public Academician() { } public Academician(string name, string sex, string birth) { base._name = name; base._sex = sex; base._birthStr = birth; } public override void talk(string language1, string language2, string language3) { Console.WriteLine("我叫:{0},是个{1}孩,生日是:{2},在读大学,我会说{3}和{4}和{5}。", base._name, base._sex, base._birthStr, language1, language2, language3); } }
很容易啊,要自己去写的。写个学生类做父类,大学生小学生继承
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
从宿迁到淮安多长时间,从杨秀港驾车到泗阳县
通城县咸宁易捷便利店(中国石化加油站店)地址
赛尔号里的一万经验的盒子在哪?
守护雅典娜转职太子版巫师怎么出来
有关珍惜生命和爱护生命的知识
人生如戏,戏如梦,一场欢喜,一场空的意思
QQ什么时候还出新业务、
什么是爱?现代用什么谈爱?
有时睡觉前会出现恐怖的现象?
女人喝红酒会美容吗?
脸颊下巴长痘的原因,上嘴唇和下巴那长很多痘
联想和华硕的笔记本哪个好?
He can jump very high.(变为一般疑问句)
源汇区漯河缔莱美整形哪位知道具体地址啊
谁可以给msdipt.dll这个文件我啊??
推荐资讯
机战现在有什么活动
总裁助理怎么称呼,总经理助理怎么称呼?
什么游戏好玩推荐几个
氮气液化机如果要液化其他气体,需要做什么调
如何看自己无限网络被偷用没有
关于交通安全的小知识,幼儿园小班安全教育活
化妆诗词,关于化妆的古诗词
380伏柴油发电机接220V怎么接
怎样消除腹部到大腿的赘肉,使之变得有型
怎麼才可以告訴自己喜歡的人??
I don’t like Maths (b ) it’s too difficu
QQ黄钻2什么时候能玩开心牧场
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?