C#中的继承和构造函数

时间:2014-11-17 09:31:34

标签: c# inheritance

我正在申请跟踪公司的员工。有不同类别的员工,这些员工都从抽象类Employee继承。我想要的是在Employee类中定义一个静态变量,它将表示每个员工初始化后将给予的id,然后递增。所以我的问题是,如何实现构造函数,例如类Manager哪个继承自Employee,而不传递ID作为参数,但是一旦它到达Employee类的构造函数就会被确定?

2 个答案:

答案 0 :(得分:0)

class Employee
{
    static int _empCount = 0;
    static int GetNextEmployeeId()
    {
        _empCount++;
        return _empCount;
    }

    public int EmployeeId { get; private set; }

    public Employee()
    {
        EmployeeId = GetNextEmployeeId();
    }
}

答案 1 :(得分:0)

命名空间Project1 {

class Employee
{

    static int lastId;

    protected int id;

    public Employee()
    {
        this.id = lastId + 1;
        lastId = this.id;
    }


}

class Manager : Employee
{
    public Manager() : base() { }
}

class Accountant : Employee
{
    public Accountant() : base() { }
}

}