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

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());
			}
		}
	}
}



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

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

你可能感兴趣的:(F#)