java实例分析宠物商店_java实例分析:宠物商店.ppt

JAVA 应用开发详解 面向对象(高级) —— 实例分析:宠物商店 实例要求 实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。 分析 1、本要求中提示宠物的信息可以自行设计,所以此时简单设计出三个属性:名字、颜色、年龄。 2、宠物的类别很多,例如:猫、狗等都属于宠物,所以宠物应该是一个标准。 3、在宠物商店中,只要是符合了此宠物标准的就都应该可以放进宠物商店之中。 4、宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,宠物的个数由用户决定的话,则应该在创建宠物商店的时候,就已经分配好宠物的个数。 类图 宠物接口 —— Pet.java 宠物猫 —— Cat.java 宠物狗 —— Dog.java 宠物商店 —— PetShop.java(增加宠物) 宠物商店 —— PetShop.java(查询) 测试宠物商店 —— PetShopDemo.java ? MLDN 软件教学研发部 interface Pet { public String getName();// 得到宠物的名字 public String getColor();// 得到宠物的颜色 public int getAge();// 得到宠物的年龄 } 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 }; class Dog implements Pet { private String name;// 宠物名字 private String color;// 宠物颜色 private int age;// 宠物年龄 public Dog(String name, String color, int age) {// 通过构造设置属性 this.name = name; this.color = color; this.age = age; } // setter、getter }; class PetShop { private Pet[] pets;// 保存多个属性 private int foot;// 数据的保存位置 public PetShop(int len) {// 构造方法开辟宠物数组的大小 if(len>0){// 判断长度是否大于0 this.pets = new Pet[len];// 为对象数组开辟空间 }else{ this.pets = new Pet[len] ;// 至少开辟一个空间 } } public boolean add(Pet pet) {// 增加宠物 if (foot < this.pets.length) {// 判断宠物商店里的宠物是否已经满了 this.pets[foot] = pet;// 增加宠物 foot++;// 修改保存位置 return true;// 增加成功 } else { return false;// 增加失败 } } … }; class PetShop { … public Pet[] search(String keyWord){ // 关键字查找 Pet p[] = null;// 此为查找之后的结果,此处的大小不是固定的 int count = 0;// 记录下多少个宠物符合查询结果 // 确认开辟的空间大小,看有多少个宠物符合查询条件 for (int i = 0; i < this.pets.length; i++) { if (this.pets[i] != null) {//判断对象数组中的内容是否为空 if (this.pets[i].getName().indexOf(keyWord) != -1 || this.pets[i].get

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值