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 {}
上图的:号,就是表示继承。
我们可以总结一下。
继承是面向对象中的一个特性,它可以帮助我们移除类的冗余代码。