首页 > 代码库 > C#中的继承

C#中的继承

首先,我们来看一个SE 工程师类:


 /// <summary>
 /// 工程师类
 /// </summary>
public
class SE { /// <summary> /// 工号 /// </summary> public string ID { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 性别 /// </summary> public Gender Gender { get; set; } }

再来看PM项目经理类:

 /// <summary> 
/// 项目经理类
/// </summary>

public
class PM { /// <summary> /// 工号 /// </summary> public string ID { get; set; } /// <summary> /// 年龄 /// </summary> public int Age { get; set; } /// <summary> /// 名称 /// </summary> public string Name { get; set; } /// <summary> /// 性别 /// </summary> public Gender Gender { get; set; } }

 

两个类当中,有许多相同的字段。

为了减少代码,我可以把相同的代码放在一个公共的员工类Employee中

/// <summary>
    /// 员工类
    /// </summary>
    public class Employee
    {
        /// <summary>
        /// 工号
        /// </summary>
        public string ID { get; set; }

        /// <summary>
        /// 年龄
        /// </summary>
        public int Age { get; set; }

        /// <summary>
        /// 名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 性别
        /// </summary>
        public Gender Gender { get; set; }
}

 

然后我们说SE类和PM类是子类,而Employee类就是我们的父类,子类只需要继承父类,就可以了,不用再定义这些父类属性。

这样就可以实现减少代码,明确程序结构的作用了。

例如:

public class SE : Employee
    {}


public class PM: Employee
    {}

上图的:号,就是表示继承。

我们可以总结一下。

继承是面向对象中的一个特性,它可以帮助我们移除类的冗余代码。

 

C#中的继承