面对对象--实例分析--宠物商店


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.name = name;
this.color = color;
this.age = age;
}
public void setName(String name)
{
this.name = name;
}
public void setColor(String color)
{
this.color = color;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public String getColor()
{
return this.color;
}
public int getAge()
{
return this.age;
}
}
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 void setName(String name)
{
this.name = name;
}
public void setColor(String color)
{
this.color = color;
}
public void setAge(int age)
{
this.age = age;
}
public String getName()
{
return this.name;
}
public String getColor()
{
return this.color;
}
public int getAge()
{
return this.age;
}
}
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 = 1;i <this.pets.length ;i++ )//将查询的结果存入p
{
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;
}
}
public class PetShopDemo
{
public static void main(String args[])
{
PetShop ps = new PetShop(5);
ps.add(new Cat("白猫","白色的",3));
ps.add(new Cat("黑猫","黑色的",3));
ps.add(new Cat("花猫","花色的",3));
ps.add(new Dog("白狗","白色的",3));
ps.add(new Cat("黑狗","黑色的",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());
}
}
}
}



这个例子是看过视频后写出来的,是我目前来说写得最长的一个了,大部分是自己写的,少部分是看了代码的。

写是写出来了,但感觉自己还不是很懂的样子,里面好的运用都不是很明白。看来基础还不是很扎实啊。准备先过一下,等以后看第二次的进修再来详细了解下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值