猫狗案例,加入跳高的额外功能
分析:从具体到抽象
猫:
姓名,年龄
吃饭睡觉
狗:
姓名,年龄
吃饭睡觉
由于有共性功能。所以我们抽取出一个父类:
动物:
姓名,年龄
吃饭();
睡觉(){}
猫:继承自动物
狗:继承自动物
跳高的额外功能是一个新的扩展功能,所以我们要定义一个接口
跳高
部分猫:实现跳高
部分狗:实现跳高
动物:
姓名,年龄
吃饭();
睡觉(){}
猫:继承自动物
狗:继承自动物
跳高的额外功能是一个新的扩展功能,所以我们要定义一个接口跳高
部分猫:实现跳高
部分狗:实现跳高

interface Jump{public abstract void Jump();
}
abstract class Animal{private String name;private int age;public Animal() {}public Animal(String name,int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public abstract void eat();public void Sleep() {System.out.println("睡觉觉啦");}
}
class Cat extends Animal{public Cat() {}public Cat(String name,int age) {super(name,age);}public void eat() {System.out.println("猫吃鱼");}
}
class Dog extends Animal{public Dog() {}public Dog(String name,int age) {super(name,age);}public void eat() {System.out.println("狗吃肉");}
}
class JumpCat extends Cat implements Jump{public JumpCat() {}public JumpCat(String name,int age) {super(name,age);}public void Jump() {System.out.println("跳高猫");}
}
class JumpDog extends Dog implements Jump{public JumpDog() {}public JumpDog(String name,int age) {super(name,age);}public void Jump() {System.out.println("跳高狗");}
}
class InterFaceDemo2 {public static void main (String[] args) {//具体实现//猫实现JumpCat jc = new JumpCat();jc.setName("加菲");jc.setAge(11);System.out.println(jc.getName()+"-----"+jc.getAge());jc.eat();jc.Sleep();jc.Jump();}
}

运行结果(狗狗那个跟跳高猫是一样的,只是没调用):
加菲-----11
猫吃鱼
睡觉觉啦
跳高猫

面向对象之继承,抽象,接口的案例(刘意老师的猫狗案例)相关推荐

  1. 接口练习:猫狗案例扩展跳高功能

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

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

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

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

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

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

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

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

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

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

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

  7. Java的抽象类:猫狗案例

    猫狗案例:从抽象到具体 狗或者猫: 成员变量:姓名,年龄 构造方法:无参,带参 成员方法:eat(猫吃鱼/狗吃肉) 因为有共性的内容,所以就提取一个父类,动物. 但是又由于吃饭的内容不一样,所以吃饭的 ...

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

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

  9. (十)Core Java 面向对象(封装,继承,多态,接口) -02 (96)

     目录 :        24 ). 面向对象(聚集关系) 25 ). 面向对象(子父类中变量的特点) 26 ). 面向对象(子父类中函数的特点-覆盖) 27 ).  面向对象(子父类中构造函数的特点 ...

最新文章

  1. 我记录网站综合系统 -- 技术原理解析[10:PermissionChecker流程]
  2. 当视频恋爱 App 用上了 Serverless
  3. gcc undefined reference to 问题解决方法(使用库)
  4. CloudEngine 6800 堆叠场景下配置eth-trunk链路聚合流量负载不均衡
  5. PHP 几个常用的加密函数
  6. 网络 计算机网络预备知识
  7. 专注企业市场 或是网盘危机的有效出路
  8. php调用lstat频繁,PHP lstat()函数使用方法
  9. Zabbix监控解决方案
  10. 我得到 http 响应,但 response.getEntity().getContent() 显示空指针异常
  11. 黄聪:火狐firefox打开flash就卡
  12. 楚留香服务器维护时间,2019年06月28日官方维护公告
  13. rs422/rs485通信接口原理图
  14. 【PHP】最详细PHP从入门到精通(一)
  15. FreeIPA 4.7.0 服务端 部署
  16. apiclod 上传图片_apicloud图片上传
  17. a标签下载静态文件 失败-未发现文件
  18. 详解设置路由导航的两种方法
  19. 文盘Rust -- 领域交互模式如何实现
  20. 过完618!来看看 Node.js 如何实现秒杀系统

热门文章

  1. 让我们了解一下VOL,VLK,OEM的意思
  2. CVPR小目标检测:上下文和注意力机制提升小目标检测(附论文下载)
  3. 黑白照片怎么变彩色?教你一个给图片上色小技巧
  4. 【黑苹果装机实践】Mac中设置Ctrl+C/V进行复制/粘贴及原生快捷键
  5. MongoDB 4.4版本安装配置(window)
  6. SmokePing 部署实践
  7. VIM正则表达式详解
  8. NLP分词算法深度综述学习总结
  9. 无线路由器怎么用?教你怎么设置无线路由
  10. 纯css写的类似花纹图案的立体动态旋转