using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace OOPText
{
/// <summary>
/// 多态:实现不同的用户进入到不同的界面
/// 但是都有登入的功能
/// 因此采用多态:可以用抽象实现多态,可以用虚方法实现多态
/// 下面是一个抽象类实现多态
/// </summary>
public abstract class Persons
{
//.........省略了其他的方法和属性.......//
//抽象方法无方法体
public abstract void Login(string name, string password);
static void Main()
{
List<Persons> person = new List<Persons>();
User user = new User();
Admin admin = new Admin();
person.Add(user);
person.Add(admin);
for (int i = 0; i < person.Count; i++ )
{
person[i].Login("user","123");
}
Console.ReadLine();
}
}
/// <summary>
/// User类继承Persons
/// </summary>
public class User : Persons
{
//省略其他的属性,方法等
//用oveeide修饰的方法和父类的方法相同实现对父类的重载
public override void Login(string name, string password)
{
if (name == "user" && password == "123")
{
Console.WriteLine("登陆成功!!!");
Console.WriteLine("正在进入user页面,请稍等!!!");
}
else
{
Console.WriteLine("登陆失败1!!");
}
}
}
public class Admin : Persons
{
public override void Login(string name, string password)
{
if (name == "user" && password == "123")
{
Console.WriteLine("登陆成功!!!");
Console.WriteLine("正在进入admin页面,请稍等!!!");
}
else
{
Console.WriteLine("登陆失败1!!");
}
}
}
}