在“抽象类练习1:猫狗案例”的基础上,猫狗案例加入额外功能:跳高jump()
注意分析:是有的猫会跳高,有的狗会跳高
所以定义一个跳高接口。再定义两个类:跳高猫,继承猫,实现猫的跳高接口;跳高狗,继承狗,实现狗的跳高接口。

/*
[抽象类]动物 abstract class Animal :成员变量:姓名、年龄构造方法成员方法:abstract void eat();[类]猫 继承 动物 :构造方法成员方法:重写eat()[类]狗 继承 动物:构造方法成员方法: 重写eat()[接口]Jump:抽象成员方法:jump()[类]跳高猫 继承猫:成员方法:实现jump()[类]跳高狗 继承狗:成员方法:实现jump()
*/
//跳高接口
interface Jump{public abstract void jumpping();//默认修饰public abstract,我手动给上
}abstract class Animal{private String name;private int age;public Animal(){}public void setName(String name){this.name= name;}public void setAge(int age){this.age= age;}public String getName(){return name;}public int getAge(){return age;}//将eat功能定义为抽象方法public abstract void eat();
}class Cat extends Animal{public Cat(){}//重写eat方法public void eat(){System.out.println("猫吃鱼");}//添加自己新的功能public void playGame(){System.out.println("猫捉迷藏");}}
class JumpCat extends Cat implements Jump{public JumpCat(){}//实现接口public void jumpping(){System.out.println("猫会跳高");}
}class Dog extends Animal{public Dog(){}//重写eat方法public void eat(){System.out.println("狗吃肉");}//添加自己的新功能public void lookDoor(){System.out.println("狗看门");}}class JumpDog extends Dog implements Jump{public JumpDog(){}//实现接口public void jumpping(){System.out.println("狗会跳高");}
}//测试类
class JumpCatDogDemo{public static void main(String[] args){//养只狗Dog d= new Dog();d.setName("酷酷");d.setAge(2);String dname= d.getName();int dage= d.getAge();System.out.println("我养了只小狗,它的名字叫:"+dname+",它今年:"+dage+"岁");d.eat();d.lookDoor();System.out.println("---------");//养只能跳高的狗JumpDog jd= new JumpDog();jd.setName("跳跳");System.out.println("我养了只会跳高的小狗,它的名字叫:"+dname);jd.eat();jd.jumpping();}}
/*程序测试结果:我养了只小狗,它的名字叫:酷酷,它今年:2岁狗吃肉狗看门---------我养了只会跳高的小狗,它的名字叫:酷酷狗吃肉狗会跳高*/

接口练习:猫狗案例扩展跳高功能相关推荐

  1. 面向对象_猫狗案例加入跳高功能代码实现

    /*猫狗案例,加入跳高的额外功能分析:从具体到抽象猫:姓名.年龄 吃饭.睡觉狗:姓名.年龄吃饭.睡觉由于有共性功能,所以,我们抽取一个父类:动物类:姓名.年龄吃饭();睡觉(){}猫:继承自动物类狗: ...

  2. 面向对象_猫狗案例加入跳高功能分析

    /*猫狗案例,加入跳高的额外功能分析:从具体到抽象猫:姓名.年龄 吃饭.睡觉狗:姓名.年龄吃饭.睡觉由于有共性功能,所以,我们抽取一个父类:动物类:姓名.年龄吃饭();睡觉(){}猫:继承自动物类狗: ...

  3. 猫狗案例加入跳高功能分析及代码实现

    猫狗案例加入跳高功能分析及代码实现 class Test01_Animal {public static void main(String[] args) {Cat c = new Cat(" ...

  4. Java抽象类,接口练习之猫狗案例加入跳高功能分析及其代码实现

    案例目标 练习Java面向对象编程的接口和类: 案例演示: 动物类:姓名.年龄.吃饭.睡觉 猫和狗 动物培训接口:跳高 代码实现 class MainTest {public static void ...

  5. Java案例——猫狗案例加入跳高功能分析及其代码实现(面向对象)

    动物类:姓名,年龄,吃饭,睡觉.              动物培训接口:跳高              猫继承动物类               狗继承动物类              部分猫继承猫 ...

  6. 抽象类与接口的典型应用:猫狗案例,加入调高的额外功能

    /*   抽象类与接口应用:猫狗案例,加入调高的额外功能     分析:从具体到抽象   猫:   姓名,年龄   吃饭.睡觉   狗:   姓名,年龄   吃饭.睡觉   由于有共性功能,所以我们抽 ...

  7. 面向对象之继承,抽象,接口的案例(刘意老师的猫狗案例)

    猫狗案例,加入跳高的额外功能 分析:从具体到抽象 猫: 姓名,年龄 吃饭睡觉 狗: 姓名,年龄 吃饭睡觉 由于有共性功能.所以我们抽取出一个父类: 动物: 姓名,年龄 吃饭(); 睡觉(){} 猫:继 ...

  8. java多态猫狗吃骨头_javaSE学习(6):面向对象:多态的两个经典案例(猫狗案例和南北方人案例)...

    1.猫狗多态案例 /* 2019年5月19日9点48 @author 潇雷 猫狗案例多态版: */ class Animal{ public void eat(){ System.out.printl ...

  9. 面向对象_猫狗案例分析

    /*猫狗案例:先找到具体事物,然后发现具体事物有共性,才提取一个父类猫:成员变量:姓名,年龄,颜色构造方法:无参,带参成员方法:getXxx()/setXxx()eat()playGame()狗:成员 ...

最新文章

  1. 设计模式之桥接模式(Bridge)摘录
  2. Dos批处理常用命令大全入门
  3. 企业分布式微服务云SpringCloud SpringBoot mybatis (九)Spring Boot多数据源配置与使用(JdbcTemplate支持)...
  4. case when是不是只要满足第一个别的就不进行执行了
  5. XMLJavaXMLBeans结合应用的价值
  6. mysqldump: Got error: 1449
  7. 中以什么开头仅可注释单行_Python从入门到精通第006课--注释与变量
  8. linux设备驱动开发详解源码,linux设备驱动开发详解光盘源码.rar
  9. [watchtower] 自动更新 Docker 镜像与容器
  10. RSA2013系列(1):中国成为热点
  11. protobuf序列化使用说明
  12. android虚拟机的使用教程,Android 虚拟机可以这么用了 ?
  13. windows下安装informix数据库服务端
  14. markdown添加目录
  15. swift-集成touch id功能 指纹验证
  16. 发酵罐设计软件测试,发酵罐设计的心得体会
  17. 奇思妙想 CSS 文字动画
  18. JavaFX - 制作登录窗口及界面跳转
  19. mac markdown_适用于Mac的最佳Markdown编辑器
  20. 【PTA-训练day6】L2-016 愿天下有情人都是失散多年的兄妹+ L1-011 帅到没朋友

热门文章

  1. 襄阳教育云平台实名认证_襄阳教育云平台登录入口下载|襄阳教育云平台手机版登录入口 V3.8.7-清风安卓软件网...
  2. 阿里云张献涛:高性能计算发展的三大趋势
  3. 为什么使用kbhit后按下键盘无反应?
  4. Unite Beijing 2018 | 技术专场部分精彩议题曝光
  5. 东芝存储器株式会社计划搬迁总部
  6. 笔记本外接显示器闪烁(水波纹)解决方案
  7. Linux C语言实现TCP客户端与服务器
  8. 【中等】Leetcode-旋转链表//题目分析//首尾相连
  9. tkinter窗口美化功能介绍 第一章 内部美化功能
  10. 【编程基础の基础】“#define _GNU_SOURCE“或是在编译时“-D _GNU_SOURCE“代表了什么?有什么用