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

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

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



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

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

相关推荐

    使用跳转实例-使用跳转实例

    关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 registerForActivityResult()的使用方法----使用跳转实例。 关于 ...

    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 ...

    axure-常用图标-实例

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

    课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip

    课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-rcnn进行实例分割的面向对象编程python源码.zip课程作业基于mask-...

    aladdin股市量化分析论坛软件11.06版源代码-----中远海控-----实例版,,网盘下载地址,,

    aladdin股市量化分析论坛软件11.06版源代码-----中远海控-----实例版 aladdin股市量化分析论坛软件11.06版源代码-----中远海控-----实例版

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

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

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

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

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

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

    20110421_MD5--加密实例.zip

    20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密实例.zip20110421_MD5--加密...

    Python 实例 - 桌面宠物 Python源码

    Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码Python 实例 - 桌面宠物 Python源码...

    CANopen PDO-SDO应用实例讲解

    CANopen是一种基于CAN(Controller Area Network)总线的高层...通过上述的实例分析,我们可以获得CANopen PDO和SDO应用的全面认识,并且可以根据这些知识来协助进行编程,从而在实际的项目中实现设备之间的有效通讯。

    Python语言程序设计教程 北理工Python课程W040105-三者最大实例分析 共10页.pdf

    【大纲】0-1-课程内容和安排介绍1-1-计算机的概念1...函数与递归-1-函数定义第6章-函数与递归-2-函数的调用和返回值第6章-函数与递归-3-改变参数值的函数第6章-函数与递归-4-程序结构和递归第6章-函数与递归-5-函数实例

    Jax-WS 简单实例

    Jax-WS的简单实例 Jax-WS的简单实例

    超详细VisionPro 视觉工具-原理及实例讲解

    3. 图像分析:提供形状匹配、模板匹配、条码读取、OCR(光学字符识别)、颜色检测等工具,帮助用户解决复杂问题。 二、工具详解 1. 形状匹配:通过比较目标图像与数据库中的标准形状,确定物体的位置和旋转角度,...

    uni-app登录实例的实现

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

    Linux窗口程序设计-Qt4精彩实例分析 part01

    Linux窗口程序设计-Qt4精彩实例分析 part01

    S7-200程序实例

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

    实战JEECG程序开发-从实例学JEECG编程

    实战JEECG程序开发-从实例学JEECG编程实战JEECG程序开发-从实例学JEECG编程实战JEECG程序开发-从实例学JEECG编程实战JEECG程序开发-从实例学JEECG编程实战JEECG程序开发-从实例学JEECG编程实战JEECG程序开发-从实例...

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

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

    MATLAB图像处理实例分析-MATLAB图像处理实例分析.part1.rar

    MATLAB图像处理实例分析-MATLAB图像处理实例分析.part1.rar MATLAB图像处理实例分析

Global site tag (gtag.js) - Google Analytics