using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Ploymorphism2
{
class Ordinary
{
int basicWage=1000;
int year;
int perYear=30;
string name;
public virtual int Wage()
{
int wage = basicWage + year * perYear;
return wage;
}
public void PrintWage()
{
Console.WriteLine("员工{0}的工资为{1}元", name, Wage());
}
public Ordinary(int year,string name)
{
this.year = year;
this.name = name;
}
}
class UnderGraduate:Ordinary
{
new public int Wage()
{
return base.Wage() * 2;
}
public UnderGraduate(int year,string name) : base(year, name)
{
}
}
class Graduate : Ordinary
{
public override int Wage()
{
return base.Wage() * 3;
}
public Graduate(int year,string name) : base(year, name)
{
}
}
class Program
{
static void Main(string[] args)
{
Ordinary a = new Ordinary(2, "张三");
UnderGraduate b = new UnderGraduate(1, "李四");
Graduate c = new Graduate(3, "John");
a.PrintWage();
b.PrintWage();
c.PrintWage();
}
}
}