版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 MLDN 软件教学研发部软件教学研发部JAVA 运用开发详解运用开发详解面向对象高级 实例分析:宠物商店实例要求 实现一个宠物商店,在宠物商店中可以有多种由用户决议数量宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需求的宠物信息自行设计。分析 1、 本要求中提示宠物的信息可以自行设计,所以此时简单设计出三个属性:名字、颜色、年龄。 2、 宠物的类别很多,例如:猫、狗等都属于宠物,所以宠物应该是一个规范。 3、 在宠物商店中,只需是符合了此宠物规范的就都应该可以放进宠物商店之中。 4、 宠物商店中要保管多种宠物,那么一定应该是一个宠物的对象数组,宠物的个数由用户决议
2、的话,那么应该在创建宠物商店的时候,就曾经分配好宠物的个数。类图*petsCat-namecolorage: String: String: int+Cat (String name, String color, int age)getName ()getColor ()getAge (): String: String: intDog-namecolorage: String: String: int+Dog (String name, String color, int age)getName ()getColor ()getAge (): String: String: intPetSh
3、op-petsfoot: Pet: int+ PetShop (int len)add (Pet pet)search (String keyWord): boolean: PetPet+getName ()getColor ()getAge (): String: String: int宠物接口 Pet.java interface Pet public String getName();/ 得到宠物的名字得到宠物的名字public String getColor();/ 得到宠物的颜色得到宠物的颜色public int getAge();/ 得到宠物的年龄得到宠物的年龄宠物猫 Cat.ja
4、va class Cat implements Pet private String name;/ 宠物名字宠物名字private String color;/ 宠物颜色宠物颜色private int age;/ 宠物年龄宠物年龄public Cat(String name, String color, int age) / 经过构造设置属性经过构造设置属性this.setName(name) ;this.setColor(color) ;this.setAge(age) ;/ setter、getter;宠物狗 Dog.java class Dog implements Pet privat
5、e String name;/ 宠物名字宠物名字private String color;/ 宠物颜色宠物颜色private int age;/ 宠物年龄宠物年龄public Dog(String name, String color, int age) / 经过构造设经过构造设置属性置属性 = name;this.color = color;this.age = age;/ setter、getter;宠物商店 PetShop.java添加宠物 class PetShop private Pet pets;/ 保管多个属性保管多个属性private int foot;/ 数
6、据的保管位置数据的保管位置public PetShop(int len) / 构造方法开辟宠物数组的大小构造方法开辟宠物数组的大小if(len0)/ 判别长度能否大于判别长度能否大于0this.pets = new Petlen;/ 为对象数组开辟空间为对象数组开辟空间elsethis.pets = new Petlen ;/ 至少开辟一个空间至少开辟一个空间public boolean add(Pet pet) / 添加宠物添加宠物if (foot this.pets.length) / 判别宠物商店里的宠物能否曾经满了判别宠物商店里的宠物能否曾经满了this.petsfoot = pet;
7、/ 添加宠物添加宠物foot+;/ 修正保管位置修正保管位置return true;/ 添加胜利添加胜利 else return false;/ 添加失败添加失败;宠物商店 PetShop.java查询 class PetShop public Pet search(String keyWord) / 关键字查找关键字查找Pet p = null;/ 此为查找之后的结果,此处的大小不是固定的此为查找之后的结果,此处的大小不是固定的int count = 0;/ 记录下多少个宠物符合查询结果记录下多少个宠物符合查询结果/ 确认开辟的空间大小,看有多少个宠物符合查询条件确认开辟的空间大小,看有多少
8、个宠物符合查询条件for (int i = 0; i this.pets.length; i+) if (this.petsi != null) /判别对象数组中的内容能否为空判别对象数组中的内容能否为空if (this.petsi.getName().indexOf(keyWord) != -1| this.petsi.getColor().indexOf(keyWord) != -1) count+;/ 统计符合条件的宠物个数统计符合条件的宠物个数p = new Petcount;/ 根据曾经确定的记录数,开辟对象数组根据曾经确定的记录数,开辟对象数组int f = 0;/ 设置添加的位置
9、标志设置添加的位置标志for (int i = 0; i this.pets.length; i+) if (this.petsi != null) if (this.petsi.getName().indexOf(keyWord) != -1| this.petsi.getColor().indexOf(keyWord) != -1) pf = this.petsi; / 将符合查询条件的宠物信息保管将符合查询条件的宠物信息保管f+;return p;测试宠物商店 PetShopDemo.java public class PetShopDemo public static void mai
10、n(String args) PetShop ps = new PetShop(5);/ 五个宠物五个宠物ps.add(new Cat(白猫白猫, 白色的白色的, 2);/ 添加宠物,胜利添加宠物,胜利ps.add(new Cat(黑猫黑猫, 黑色的黑色的, 3);/ 添加宠物,胜利添加宠物,胜利ps.add(new Cat(花猫花猫, 花样的花样的, 3);/ 添加宠物,胜利添加宠物,胜利ps.add(new Dog(拉布拉多拉布拉多, 黄色的黄色的, 3);/ 添加宠物,胜利添加宠物,胜利ps.add(new Dog(“金毛金毛, “金色的金色的, 3);/ 添加宠物,胜利添加宠物,胜利ps.add(new Dog(黄狗黄狗, 黑色的黑色的, 3);/ 添加宠物,失败添加宠物,失败print(ps.search(黑黑);public s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 未来五年宋锦企业制定与实施新质生产力战略分析研究报告
- 未来五年工程勘察钻机行业跨境出海战略分析研究报告
- 2025河北邯郸市涉县国有企业招聘工作人员14人笔试参考题库附带答案详解(3卷)
- 2025江西吉安青源发展集团有限公司及下属子公司招聘22人笔试参考题库附带答案详解(3卷)
- 2025江苏无锡高新区(新吴区)国企招聘47人笔试历年备考题库附带答案详解
- 2025广西能源集团有限公司社会招聘7人笔试参考题库附带答案详解(3卷)
- 2025年福建漳州市金盾城市服务集团有限公司招聘28人笔试参考题库附带答案详解(3卷)
- 2025年潍坊安丘市华安实业发展集团有限公司公开招聘总笔试历年备考题库附带答案详解
- 2025年山东省商业集团有限公司公开招聘(92人)笔试参考题库附带答案详解(3卷)
- 软件授予使用协议书
- 放射科仪器设备维护保养记录表DR
- 消防改造工程技术标书
- 泵站安全鉴定规程(SL 316-2015)
- 计算机网络安全6-操作系统与数据库安全技术
- 中国矿业大学常俊林版《自动控制原理》1-6章课后习题解答
- LY/T 1718-2017低密度和超低密度纤维板
- 与食品经营相适应的主要设备设施布局和操作流程文件
- 都江堰市政管网改造工程施工组织设计
- 热力学发展史概述课件
- 科技攻关计划(重点)项目结项报告书
- DBJ-T13-369-2021 福建省装配式建筑非砌筑内隔墙技术标准
评论
0/150
提交评论