第06章 继承与多态

第06章 继承与多态

ID:42153820

大小:631.00 KB

页数:136页

时间:2019-09-09

第06章  继承与多态_第1页
第06章  继承与多态_第2页
第06章  继承与多态_第3页
第06章  继承与多态_第4页
第06章  继承与多态_第5页
资源描述:

《第06章 继承与多态》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章继承与多态6.1继承简介6.2基类与派生类6.3重写与隐藏6.4引用类型转换6.5多态与动态绑定6.6抽象类和抽象方法第6章继承与多态(续)6.7密封类、密封方法和静态类6.8接口6.9Object类6.10装箱与拆箱6.11两个常用.NET框架类型6.12习题6.1继承简介继承是软件复用的一种形式。采用这种形式,可吸收现有类的数据和行为,为其赋予新功能,从而创建出新类。软件复用节省了程序开发时间。它还鼓励人们重用经过实践检验和调试的高质量软件,使系统能高效地实现。父类子类动物大象猫6.1继承简介(续)继承是从一个类派生出一个新类的过程。通过继承,可以让一个类拥有另

2、一个现有类的全部成员,也即让一个类继承另一个现有类的全部成员。继承的类可以使用另一个现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。使用继承而产生的类被称为派生类或者子类,而被继承的类则称为基类、超类或父类。6.1继承简介(续)客观世界中的许多事物之间往往都是具有相同的特征,具有继承的特点。如,一个Rectangle(矩形)类“属于”四边形(正方形、平行四边形和梯形同样是四边形)。也可以说,Rectangle(矩形类)是从Quadrilateral(四边形)类继承而来的。Quadrilateral类是基类,Rectangle类是派生类。再如,教师类和

3、学生类可以由大学成员类派生,讲师、教授又可以由教师类派生,毕业生和在校生又可以由学生类派生。6.1继承简介(续)四边形矩形梯形正方形大学成员教师学生讲师教授在校生毕业生6.1继承简介(续)单继承是指从一个基类派生出一个派生类的过程,而多继承是指从一个以上的基类派生出一个派生类的过程。C#语言仅支持单继承,其多继承只能通过接口等间接实现。计算机台式机便携机硬盘输入设备输出设备6.2基类与派生类6.2.1继承的语法6.2.2派生类的构造函数6.2.3结构与继承6.2.1继承的语法一般语法如下:[访问权限]class派生类名:基类名{定义派生类新成员}访问权限可以是public

4、和internal(默认的)派生类名就是通过继承派生的类的名称基类名指明了这个派生类的基类派生时,基类的访问权限不能小于派生类6.2.1继承的语法(续)例:派生时,基类的访问权限不能小于派生类classA{}publicclassB{}classC:A{}//classD:B{}//publicclassE:A{}//publicclassF:B{}//正确正确正确错误ClassBase{//成员变量intbasevar;//成员函数publicBase_fun1(){//定义}…….…….ClassDerived:Base{//成员变量intderivedvars;//

5、成员函数Derived_fun1(){//定义}…….…….基类voidMain(){Deriveddr_obj=newDerived();dr_obj.Base_fun1();}无需重新编写代码派生类例6-1派生类的定义//Cat.csusingSystem;publicclassAnimal{privateintweight;privateintage;publicintAge{get{returnage;}set{age=((value>=0)?value:0);}}publicintWeight{get{returnweight;}set{weight=((val

6、ue>=0)?value:0);}}}例6-1派生类的定义(续)publicclassCat:Animal{publicvoidMeow(){Console.WriteLine("Meow...");}publicstaticvoidMain(){Catc=newCat();c.Age=2;//使用基类的公有属性c.Weight=5;//使用基类的公有属性Console.WriteLine("CAT");c.Meow();Console.WriteLine("Age={0},tWeight={1}",c.Age,c.Weight);}6.2.1继承的语法(续)派生类自动

7、获取基类的除构造函数和析构函数外的所有成员。基类的public成员被派生类继承后在派生类中可以直接访问,也可以在程序的任何地方通过派生类的对象或派生类名访问;基类的private成员不能在派生类中访问,也不能通过派生类的对象或派生类名访问;基类的protected成员只能在基类和派生类中访问,不过在派生类中不能通过基类的对象访问。6.2.1继承的语法(续)思考题:usingSystem;classA{privateinti=0;protectedintj=0;publicintk=0;protectedstaticintm=0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。