1.概述
继承是指一个对象(淡水鱼)直接使用另一对象(鱼)的属性和方法。像这个图,其中的带鱼继承了咸水鱼,那么咸水鱼具有的特征,带鱼都会有的,但是带鱼具有的特征,咸水鱼不一定有。
2.继承
1)父类(鱼),也称为基类:
在C#中,创建一个名称为Person的类:
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;namespaceYidosoft.Edu{///summary///人基类////summarypublicclassPerson{//姓名属性publicstringName{get;set;}//显示方法publicstringShow(){return你好;}}}
2)子类(淡水鱼),也称为派生类:
让Student类继承Person基类:
///summary///学生子类///Student继承Person类////summarypublicclassStudent:Person{}
C#中使用冒号(英文你的:)实现继承关系,冒号后面的是基类,前面的是子类,并且在C#中一个类只能继承一个基类。基类可以被多个子类继承。
在C#中,使用继承可以提高代码的复用率。
3)实例化子类:
我们在Student中没有定义任何的属性和方法,但是在子类Student中是可以使用基类中定义的属性和方法的。
4)子类具有自己的属性和方法
在C#中,如何实例化一个基类:
此时,你会发现,在子类中定义的属性和方法是不能在基类中访问的。
3.隐藏基类方法
由于我们在基类中定义的方法在子类中可以访问,但有时候,我们需要在子类中定义一个与基类中某个方法同名,此时就要用到隐藏基类的方法:
在C#中,在子类的方法前使用new修饰,该方法隐藏父类签名(方法名)相同的方法。
4.virtual方法与重写父类方法
在C#中,如果在子类中不再使用从父类继承来的方法,可以该方法前面使用override修饰,覆盖该方法,同时父类该方法使用virtual修饰符。
重写代码:
publicnewstringShow(){returnHello;}publicoverridedoubleTotal(){return;}
5.方法的重载
在C#中,方法的重载需要遵守如下规则:
1)方法名必须相同,写在同一个类当中。
2)返回类型不同。
3)参数类型不同或参数列表(个数)不同。
6.多态和重载
多态的定义:同名方法表现出的不同操作和功能,在C#中可以使用方法的重载表现多态性。重写也属于多态的一种。这样多态包含2种:重写和重载。
在C#中,在多态中,包含两种重写和重载,重写属于运行期的多态,重载属于编译期的多态。
7.密封类
在C#中,密封类是指不能被继承的类,但可以继承别的基类。使用sealed定义:密封类不能做为父类使用,但可以作为子类使用。
///summary///密封类////summarypublicsealedclassClass11{}
密封类是一种特殊的类,它不能派生子类。
8.面向对象的编程
面向对象编程:是将我们实际生活中的对象经过抽象,将它定义成为一个类,通过类的属性和方法来模拟生活中的这个对象。这样使得程序更容易结构化、抽象起来更方便。
面向对象的三大特性是:封装、继承、多态。
9.访问修饰符
C#中常用的访问修饰符如下表格所示:
C#深入编程-线上视频图文课堂配套课后技能作业+理论考试+源码淘宝¥购买已下架