首页 > 分享 > 实例分析:宠物商店

实例分析:宠物商店

实例要求
实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。

分析
1、  本要求中提示宠物的信息可以自行设计,所以此时简单设计出三个属性:名字、颜色、年龄。
2、  宠物的类别很多,例如:猫、狗等都属于宠物,所以宠物应该是一个标准。
3、  在宠物商店中,只要是符合了此宠物标准的就都应该可以放进宠物商店之中。
4、  宠物商店中要保存多种宠物,则肯定应该是一个宠物的对象数组,宠物的个数由用户决定的话,则应该在创建宠物商店的时候,就已经分配好宠物的个数。



 

类图

 

宠物接口 —— Pet.java

interface Pet {

public String getName();

public String getColor();

public int getAge();

}

宠物猫 —— Cat.java

public 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);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getColor() {

return color;

}

public void setColor(String color) {

this.color = color;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

宠物狗 —— Dog.java

public 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;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getColor() {

return color;

}

public void setColor(String color) {

this.color = color;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

}

宠物商店 —— PetShop.java(增加和查询宠物)

public class PetShop {

private Pet[] pets;

private int foot;

public PetShop(int len){

if(len>0){

this.pets = new Pet[len];

}else{

this.pets = new Pet[1];

}

}

public boolean add(Pet pet){

if(this.foot < this.pets.length){

this.pets[this.foot] = pet;

this.foot++;

return true;

}else{

return false;

}

}

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].getColor().indexOf(keyWord)!=-1){

count++;

}

}

}

p = new Pet[count];

int f = 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].getColor().indexOf(keyWord)!=-1){

p[f] =this.pets[i];

f++;

}

}

}

return p;

}

}

测试宠物商店 —— PetShopDemo.java

public class PetShopDemo {

public static void main(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 static void print(Pet p[]){

for(int i=0; i<p.length; i++){

if(p[i] !=null){

System.out.println(p[i].getName()+","+p[i].getColor()+","+p[i].getAge());

}

}

}

}

相关知识

宠物商店 案例分析
(Java)实例分析
宠物商店业务
沙盘分析实例解析
今天我开始学习:PETSHOP3.0宠物商店(经典案例)
面向对象(高级)实例分析:宠物商店(java)资源
飞硕家的宠物商店——需求分析
Java上机作业宠物商店
宠物产品设计实例分析题
Python3 实例

网址: 实例分析:宠物商店 https://m.mcbbbk.com/newsview213999.html

所属分类:萌宠日常
上一篇: 以案释法典型案例——鹦鹉案
下一篇: 动物侵权分析