JAVA程序设计-3期(KC005) 实现多态 KC 005 070000 045-多态.ppt

JAVA程序设计-3期(KC005) 实现多态 KC 005 070000 045-多态.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java 程序设计 Java 程序设计 多态 教学目标 知识目标 明确多态的特征 掌握Java多态的实现方式 能力目标 能够根据实际问题需要灵活使用面向对象多态的特性,以提高程序可扩展性和可维护性。 面向对象编程三大特征 封装 继承 多态 将对象的属性和行为封闭起来,不需要让外界知道具体细节。 类——class 继承是指在一个已有类的基础上去构建一个新类。新类称为子类,已有的类称为父类。 继承——extends 多种状态 对象的多种形态 父类或者接口的引用指向其子类的对象 覆盖 重载 面向对象编程三大特征 面向对象编程三大特征 面向对象编程三大特征 多态 多态指对象的多种形态。是面向对象编程思想的重要体现,其实现建立在继承关系基础上。 多态的实现通过两种途径: 1. 引用多态 父类引用可以指向本类对象 父类引用指向子类对象。 2. 方法多态 方法重载、方法覆盖(重写) 任务 小新喂养动物-----宠物猫 按照面向对象编程思想,我们首先会抽象出来一个类,表示宠物猫,其中有个eat()方法,这个方法是小猫进食的方法。代码如下: public class Cat1 { String name; // 姓名 // 带参数的构造方法,初始化小猫的属性 public Cat1(String name) { this.name = name; } // 小猫进食的方法 public void eat() { System.out.println(我是一只可爱的小猫,我叫 + this.name + ,我正在吃鱼。); } } 小猫进食的方法 任务实现 其次,还要抽象出一个类,来代表学员,其中有个喂食feed(Cat1 cat)方法,需要一个动物类型作为参数,我们先传入一个Cat1类型的参数。 public class Student1 { // 学员喂养小猫的方法 public void feed(Cat1 cat1) { cat1.eat(); } } 喂食的方法 任务实现 最后,编写一个测试类和运行结果如下: public class TestStudent1 { public static void main(String[] args) { Student1 xiaoxin = new Student1(); Cat1 cat1=new Cat1(“小白”); //小新喂养猫 xiaoxin.feed(cat1); // xiaoxin.feed(new Cat1(小白)); } } 任务实现 如果用户的需求变了,小新又想养一只小狗,那么我们以前的系统怎么办呢? 按照现在的思路,则需要增加一个小狗类,然后还要修改学员类,增加喂养小狗的方法。 问题分析 public class Dog1 { String name; // 姓名 // 带参数的构造方法,初始化狗狗的属性 public Dog1(String name) { this.name = name; } // 小狗进食的方法 public void eat() { System.out.println(我是一只可爱的小狗,我叫 + this.name + ,我正在吃骨头。); } } public class Student1 { // 学员喂养小猫的方法 public void feed(Cat1 cat1) { cat1.eat(); } // 学员喂养小狗的方法 public void feed(Dog1 dog1) { dog1.eat(); } } 修改学员类,增加喂养小狗的方法 修改测试类如下: public class TestStudent1 { public static void main(String[] args) { Student1 xiaoxin = new Student1(); //小新喂养猫 xiaoxin.feed(new Cat1(小白)); //小新喂养狗 xiaoxin.feed(new Dog1(小汪)); } } 问题分析 小新每养一种动物,都要修改学员类,增加相

您可能关注的文档

文档评论(0)

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

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档