题目:
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//这个跟上一个差不多,就是改了一个virtual,其他的东西都没有变化
namespace _22
{
abstract class Person
{
protected string Name;
public Person(string name)
{
Name = name;
}
public virtual void Display()
{
Console.WriteLine("姓名: " + Name);
//虚方法中可以有东西,但是也需要override
}
}
class Man : Person
{
public Man(string name) : base(name) { }
public override void Display()
{
Console.WriteLine("这位男士的姓名是 " + Name);
}
}
class Woman : Person
{
public Woman(string name) : base(name) { }
public override void Display()
{
Console.WriteLine("这位女士的姓名是 " + Name);
}
}
internal class Program
{
static void Main(string[] args)
{
Console.Write("请输入姓名: ");
string manName = Console.ReadLine();
Man p = new Man(manName);
p.Display();
Console.WriteLine("");
Console.Write("请输入姓名: ");
string womanName = Console.ReadLine();
Woman q = new Woman(womanName);
q.Display();
Console.ReadLine();
}
}
}
运行结果:
上述代码可直接复制使用,能直接运行。持续更新,欢迎关注,共勉!