第十一节课主讲:继承
主要内容:通过继承来扩展基类
通过继承来扩充类的功能
保护数据,但允许派生类共享
对类进行密封
使用关键字is和as将对象作为不同的类型进行操纵。
11.1继承的基本知识 继承让我们能够在已有类的基础上创建新类。新类可以使用原有类的所有特性,可以覆盖已有的特性,扩展已有的特性或潜加自己的特性。同一类可以派生多个类,但每个类都只能从一个派生而来,讨论继承时常常使用一些基本术语;
基类:原来的类
父类:同基类的含义相同
派生类:通过继承基类创建的新类
子类:含义与派生类相同
单继承:派生类是使用一个基类创建的。C#只支持单继承。
多重继承:派生类是使用两个或更多的基类创建的,C#不支持多从重继承。
11.1.1简单继承,理解继承的最佳方式是使用它,要继承,首先需要有基类11.1.2使用继承。11.1.3在派生类的方法中使用基类的方法,关键字base也可用于直接调用基类的方法
11.2多态可以通过潜加数据成员和方法来扩展基类,还可以使用关键字base来调用基类的方法。使用new关键自定义同名的方法来覆盖基类的方法
11.3虚拟方法
11.4抽象类,可以强制派生类覆盖基类的方法,将基类的方法声明为抽象的,为止需要使用关键字abstract抽象方法没有方法体,有派生类提供,当方法被声明为抽象的时, 其所属的类也必须被声明为抽象的
11.5密封类创建抽象类时期望从他派生出其他类如果要禁止被继承提供关键字sealed来防止类被继承在定义类时包含限定符sealed可以禁止他被继承
11.6终极基类:object,11.6.1object类中的方法 object偶实例有两个又去的方法,他们是gettype和tostring前者返回对象的数据类型;后者返回一个表示当前对象的字符串11.6.2装箱和拆箱装箱指的是将值类型装换为引用类型,拆箱值得是显示的将引用类型装换为值类型,被拆箱的值必须存储到相应的数据类型变量中拆箱需要显示的将对象转换为值,这可以通u过强制转换来实现
11.7将关键字is和as用于类一类装换有两个关键字用于类is和as.11.7.1关键字is 关键字is用于确定变量是否为指文Dev类型11.7.2关键字as,as运算符的功能与强制转换类似,将对象强制转换为另一种类型目标类型必须与源类型兼容。
11.8有不同类型的对象组成的数据