`
yutian2211
  • 浏览: 25157 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

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

F# 
阅读更多
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());
			}
		}
	}
}



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

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

相关推荐

    VC-MFC编程实例

    [VC-MFC编程实例].01 [VC-MFC编程实例].02 [VC-MFC编程实例].03 [VC-MFC编程实例].04 [VC-MFC编程实例].05 [VC-MFC编程实例].06 [VC-MFC编程实例].07 [VC-MFC编程实例].08 [VC-MFC编程实例].09 [VC-MFC编程实例].10 ...

    S7-200应用实例,电子书pdf,中文。

    S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。S7-200应用实例,电子书pdf,中文。

    axure-常用图标-实例

    axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 axure-常用图标-实例 ...

    基于java的开发源码-EJB编程实例代码.zip

    基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于java的开发源码-EJB编程实例代码.zip 基于...

    A4韩国心天泻血疗法--应用实例.doc

    A4韩国心天泻血疗法--应用实例.doc

    javascript实例应用---连接数据库实例.rar

    javascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rarjavascript实例应用---连接数据库实例.rar

    SPSS概览--数据分析实例详解

    SPSS概览--数据分析实例详解 描述性统计分析-- Descriptive Statistics菜单详解

    Visual C++程序设计--基础与实例分析

    《Visual C++程序设计——基础与实例分析》涵盖了C++编程语言在Microsoft Visual Studio环境下的应用,这是一门深入浅出地讲解C++编程技术的课程。Visual C++是Microsoft公司开发的一款强大的可视化编程工具,它结合...

    实例程序VC6.0 -----------DAO实例程序

    实例程序VC6.0 -----------DAO实例程序

    CorelDraw12教程-入门与实例\CorelDraw12教程-入门与实例 .rar

    CorelDraw12教程-入门与实例\CorelDraw12教程-入门与实例 .rar

    Android代码-各种实例库

    博客文章链接---------实例代码工程 博客:facebook Fresco框架库源使用基础 博客文章链接---------实例代码工程 博客:浅谈MVP实现Android应用层开发 博客文章链接---------实例代码工程 博客:EventBus使用之基础 ...

    西门子PLC s7-1200 1500 modbus-tcp通信实例编程详细指导

    本文结合综科智控品牌的io模块详细讲解西门子PLC s7-1200 1500 modbus-tcp通信实例编程,见附件下载:

    S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载

    S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300通信实例及步骤.zip西门子PLC编程实例程序源码下载S7-200与S7-300...

    cocos2d-x 游戏实例源码打包

    - `cocos2d-x飞行游戏实例代码flyshoot.rar` 和 `cocos2d-x游戏实例-纵版射击游戏flyshoot.rar` 是两种不同的飞行射击游戏源码。这类游戏通常涉及飞机或飞船的控制,玩家需要躲避障碍物并攻击敌人。源码中可能包括...

    uni-app登录实例的实现

    【uni-app登录实例的实现】 在移动应用开发领域,uni-app是一个备受青睐的跨平台框架,它允许开发者用一套代码实现多端部署,包括iOS、Android、Web等。本实例将详细讲解如何使用HBuilderX工具来开发一个uni-app...

    S7-200程序实例

    3. 学习实例:分析提供的S7-200程序实例,理解其工作逻辑和编程思路。 4. 实际项目:逐步尝试解决实际工程问题,提升实践经验。 四、S7-200的优势 1. 易于上手:S7-200的编程工具Step 7 Micro/WIN简洁直观,适合...

    未将对象引用设置到对象的实例--可能出现的问题总结

    ### 未将对象引用设置到对象的实例--可能出现的问题总结 在进行软件开发尤其是Web应用程序开发过程中,经常会遇到“未将对象引用设置到对象的实例”这类异常,这种异常通常表现为`System.NullReferenceException`。...

    vs2008--vb编程实例

    vs2008--vb编程实例

    -移动银行实例

    -移动银行实例 J2ME手机游戏开发

Global site tag (gtag.js) - Google Analytics