北京白癜风医院 http://www.xuexily.com/m/C#核心开发-第15单元-接口和继承-第1节:继承C#核心开发-接口和继承1.继承现实生活当中,存在很多与继承相关的现象,如下图所示:继承现象-图1图1说明如下:(1).父子关系是最容易理解的,子继承父亲的家产,也就是父亲的钱成了儿子的钱了,儿子可以使用父亲的钱。(2).汽车是个大分类,所有轿车和SUV都具有汽车的特征,如4个轮子,2个后视镜,1个方向盘。(3).轿车和SUV再向下分类,细分到具体的车型。(4).车型还可以继续向下分类。(5).轿车和SUV都具有汽车的特征,但汽车不一定具备轿车和SUV的特征。在C#中,可以简单地将继承理解为:大分类和小分类之间存在的关系,小分类具有大分类所有的特征,但大分类不一定具备所有小分类的特征。将现实生活当中的继承与C#语言中的继承对应起来就是:指一个对象(轿车)直接使用另一对象(汽车)的属性和方法。2.基类在C#中,基类就是被继承的类,也可以理解为父类,一个父类可以有多个子类。C#基类就是汽车,而轿车/SUV/宝马X3/蒙迪欧等都是子类,是相对存在的。基类的定义,与普通类是一样的,当它还没有被继承时,就是一个普通类。如下C#代码定义的基类:C#基类的定义-图2定义C#基类的代码如下:namespaceYidosoft.Edu.Csharp.Inherit{///summary///基类:人类////summarypublicclassPerson{}}在图2中,我们规划的是Person为基类,将来要被其它子类继承的,所以称为基类,任何类都可以称为基类。现在我们为C#基类Person添加一些公有的属性:C#基类添加属性-图3在C#基类中编写如下属性:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceYidosoft.Edu.Csharp.Inherit{///summary///基类:人类////summarypublicclassPerson{//姓名protectedstringName{get;set;}//年龄publicintAge{get;set;}//性别publicboolSex{get;set;}}}在图3中,为Person类添加了3个属性,这3个属性是所有人都具有的特征。根据业务需求,我们要将公共有属性/方法等抽出来编写在基类中,以达到相同功能公用,以达到共享的目的。3.派生类C#派生类是与基类相对应的,也称为子类,子类与父类相对应,只是叫法不一样而已,微软官方的叫法是基类与派生类。C#派生类是要继承基类的,派生类也是一个普通类,但只要继承了基类,就变成了派生类。下面创建一个Student类,继承Person基类:实现继承关系-图4C#子类继承基类代码如下:namespaceYidosoft.Edu.Csharp.Inherit{///summary///派生类:学生类////summarypublicclassStudent:Person{}}在C#中,派生类继承基类说明如下:(1).使用英文的冒号:实现继承关系,冒号后面的是基类,前面的是子类。(2).一个派生类只能继承一个基类,但可以继承多个接口(后面会讲)。(3).一个基类可以被多个子类继承。(4).使用继承可以提高代码的复用率。在图4中,Person是基类(父类),Student是派生类(子类),通过冒号实现它们之间的继承关系。C#深入编程-线上视频图文课堂配套课后技能作业+理论考试+源码淘宝¥购买已下架