实例要求
实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。
分析
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
上一篇: 以案释法典型案例——鹦鹉案 |
下一篇: 动物侵权分析 |