什么是继承?
在现有类(基类、父类)上建立新类(派生类、子类)的处理过程称为继承。派生类能自动获得基类的除了构造函数和析构函数以外的所有成员,可以在派生类中添加新的属性和方法扩展其功能
继承的特性?
·可传递性:C从B派生,B从A派生,那么C不仅继承B也继承A。
·单一性:只能从一个基类中继承,不能同时继承多个
基类继承中的访问修饰符base和this关键字基类的构造函数和析构函数不能被继承的。但可以使用关键字base来继承基类的构造函数。
为什么使用继承?
继承(以及封装和多形性)是面向对象的编程的三个主要特征之一。 通过继承,可以创建重用、扩展和修改在其他类中定义的行为的新类。 其成员被继承的类称为“基类”,继承这些成员的类称为“派生类”。 派生类只能有一个直接基类。 但是,继承是可传递的。 如果 ClassC 派生自 ClassB,并且ClassB 派生自 ClassA,则 ClassC 会继承在 ClassB 和 ClassA 中声明的成员。
继承的好处?
·节省开发时间
·复用经过实践检测和调试的高质量代码
·提高项目效率
使用继承注意哪几点?
·C#并不支持多重继承,但一个基类可以有多个直接派生类。但是,您可以使用接口来实现多重继承。
·多重继承
多重继承指的是一个类别可以同时从多于一个父类继承行为与特征的功能。与单一继承相对,单一继承指一个类别只可以继承自一个父类。
·子类可以直接调用父类中的方法,父类想要调用子类中的方法可以把子类对象赋值给父类类型的变量比如:
·结构不支持继承,但它们可以实现接口。
·抽象方法和虚方法
基类将方法声明为虚拟 时,派生类可以使用其自己的实现重写该方法。 如果基类将成员声明为抽象,则必须在直接继承自该类的任何非抽象类中重写该方法。 如果派生类本身是抽象的,则它会继承抽象成员而不会实现它们。
参考
http://www.runoob.com/csharp/csharp-inheritance.html (菜鸟教程)
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/inheritance (Microsoft 继承 编程指南)
继承就先介绍到这里,还您提出宝贵建议!