电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

第6讲 Java的多态性,抽象类与接口VIP免费

第6讲  Java的多态性,抽象类与接口_第1页
1/68
第6讲  Java的多态性,抽象类与接口_第2页
2/68
第6讲  Java的多态性,抽象类与接口_第3页
3/68
Java程序设计(SP3002)1第6讲Java多态性、抽象类与接口掌握多态的优势和应用场合实现多态引用转型多态性程序实例分析掌握instanceof运算符的使用抽象类与抽象方法接口与接口的应用Java程序设计(SP3002)继承是指从一个父类(父类)派生出派生类(子类)的过程;继承使用关键字extends;对于类成员,可以使用public、protected、缺省和private这4种访问权限修饰符;对于类,可以使用public和缺省这2个访问权限;创建子类实例时,必须先执行父类的构造方法,然后再执行子类的构造方法;super关键字有两种主要用途,都与父类有关。回顾Java程序设计(SP3002)为什么使用多态?宠物生病了,需要主人给宠物看病不同宠物看病过程不一样不同宠物恢复后体力值不一样打针打针吃药吃药吃药吃药疗养疗养狗狗狗狗Q仔Q仔Java程序设计(SP3002)为什么使用多态?编码实现publicclassMaster{publicvoidCure(Dogdog){if(dog.getHealth()<50){dog.setHealth(60);System.out.println("打针、吃药");}}publicvoidCure(Penguinpenguin){if(penguin.getHealth()<50)penguin.setHealth(70);System.out.println("吃药、疗养");}}主人类主人类……Mastermaster=newMaster();master.Cure(dog);master.Cure(penguin);……测试方法测试方法Java程序设计(SP3002)为什么使用多态?如果又需要给XXX看病,怎么办?添加XXX类,继承Pet类修改Master类,添加给XXX看病的方法使用多态优化设计使用多态优化设计频繁修改代码,代码可扩展性、可维护性差频繁修改代码,代码可扩展性、可维护性差Java程序设计(SP3002)为什么使用多态?使用多态优化后的代码……Petpet=newDog();Mastermaster=newMaster();master.Cure(pet);……测试方法测试方法publicclassDogextendsPet{publicvoidtoHospital(){this.setHealth(60);System.out.println("打针、吃药");}}publicclassPenguinextendsPet{publicvoidtoHospital(){this.setHealth(70);System.out.println("吃药、疗养");}}publicclassMaster{publicvoidCure(Petpet){if(pet.getHealth()<50)pet.toHospital();}}主人类主人类Dog类Dog类Penguin类Penguin类1234又要给XXX看病时,只需:1.编写XXX类继承Pet类(旧方案也需要)2.创建XXX类对象(旧方案也需要)3.其他代码不变(不用修改Master类)又要给XXX看病时,只需:1.编写XXX类继承Pet类(旧方案也需要)2.创建XXX类对象(旧方案也需要)3.其他代码不变(不用修改Master类)Java程序设计(SP3002)什么是多态?生活中的多态你能列举出一个多态的生活示例吗?程序中的多态同一个引用类型,使用不同的实例而执行不同操作同一个引用类型,使用不同的实例而执行不同操作父类引用,子类对象父类引用,子类对象同一种事物,由于条件不同,产生的结果也不同同一种事物,由于条件不同,产生的结果也不同Java程序设计(SP3002)8多态性(polymorphism)概念:是面向对象程序设计的另一个重要特征,其基本含义是“拥有多种形态”,具体指在程序中用相同的名称来表示不同的含义。例如:用同一方法名来表示不同的操作。类型:有两种静态多态性:包括变量的隐藏、方法的重载动态多态性:在编译时不能确定调用方法,只有在运行时才能确定调用方法,又称为运行时的多态性。Java程序设计(SP3002)静态多态静态多态也称为编译时多态,即在编译时决定调用哪个方法;静态多态一般是指方法重载;只要构成了方法重载,就可以认为形成了静态多态的条件;静态多态与是否发生继承没有必然联系。Java程序设计(SP3002)动态多态动态多态也称为运行时多态,即在运行时才能确定调用哪个方法;形成动态多态必须具体以下条件:必须要有继承的情况存在;在继承中必须要有方法覆盖;必须由父类的引用指向派生类的实例,并且通过父类的引用调用被覆盖的方法;由上述条件可以看出,继承是实现动态多态的首要前提。Java程序设计(SP3002)11下面主要介绍动态多态性//多态性的例子classAnimal{publicvoidroar(){System.out.println("动物:...");}}classCatextendsAnimal{publicvoi...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

第6讲 Java的多态性,抽象类与接口

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部