崔仲远-面向对象加强.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 里氏 * * 虚方法与重写 1、方法不能用static修饰 2、方法重写与基类的签名必须一致 3、virtual不能与private一起使用 base.Fun();的目的主要是添加逻辑 常见虚方法: Equal() ToString() GetHashCode() * * 虚方法和抽象方法的区别 虚方法必须有实现,抽象方法必须没有实现 抽象方法必须在抽象类中声明,虚方法可以出现在抽象类中 抽象方法必须在子类中重写,虚方法可以被重写 实现多态的主要手段: 1.虚方法virtual 2.抽象方法abstract 3.接口。 关于虚方法需要注意的几点: 1.父类中如果有方法需要让子类重写,则可以将该方法标记为virtual 2.虚方法在父类中必须有实现,哪怕是空实现。 3.虚方法子类可以重写(override),也可以不重写。 * * =======================as==================== //如果转换成功则将结果赋值给cn变量, //如果转换失败也不报错,会将null值赋值给cn; //最好在转换后,加一个cn是否为null的验证。 Chinese cn = per as Chinese; if (cn!=null) { //做一些事情 } //如果转换失败会报错!!! Chinese cn1 = (Chinese)per; ============================================================================ /// summary /// 父类类型作为参数的一种多态 /// /summary /// param name=per/param static void RenKouDengji(Person per) { per.DengJi(); } 多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。 ============================================== //如果转换失败报异常 //Chinese newcn = (Chinese)per; // Chinese newcn = per as Chinese; ////类型转换,如果转换成功,则newcn中为转换后的结果 ////如果转换失败,则newcn为null Chinese newcn = per as Chinese; * * //1.需要用abstract关键字标记 //2.抽象方法不能有任何方法实现。 //3.抽象成员必须包含在抽象类中。 //4.由于抽象成员没有任何实现,所以子类必须将抽象成员重写。 //5.抽象类不能实例化,既然不能实例化, //抽象类的作用:抽象类的作用就是为了让子类继承。 //6.抽象类中可以包括抽象成员,可以包括有具体代码的成员。 //7. 还有抽象方法不能用static修饰 public abstract void ShowNationality(); 做网站的公司(抽象类) 你给我活我去开发网站,但是网站需要一部分flash,我公司力都是程序员(抽象类中有实现的方法)。没人会做flash(抽象方法),于是我把做flash这部分工作给其它公司去做(重写抽象方法的类) 抽象类定义的是公共的实现和能力 抽象类不能被实例化 抽象类为子类提供所需要的成员 抽象类中的成员既可以有实现也可以无实现 抽象类必须由其子类实现它的抽象成员(除非子类也是抽象类) 一个类只能继承一个抽象类(类的单根继承性) 抽象方法(成员)不能有实现,必须被子类重写override(除非子类也是抽象类) 抽象方法(成员)的只能出现在抽象类中。 多态性的含义:使得能够利用基类的指针来引用不同子类的对象,以及根据所引用对象的不同,以不同的方式执行相同的操作。 多态的作用:把不同的子类对象都当作父类来看,可以屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档