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!!");
}
}
}
}