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

- 1我的狗老公李淑敏33——如何 5096
- 2南京宠物粮食薄荷饼宠物食品包 4363
- 3家养水獭多少钱一只正常 3825
- 4豆柴犬为什么不建议养?可爱的 3668
- 5自制狗狗辅食:棉花面纱犬的美 3615
- 6狗交配为什么会锁住?从狗狗生 3601
- 7广州哪里卖宠物猫狗的选择性多 3535
- 8湖南隆飞尔动物药业有限公司宠 3477
- 9黄金蟒的价格 3396
- 10益和 MATCHWELL 狗 3352