首页 > 分享 > 〖面向对象(高级)〗

〖面向对象(高级)〗

最新推荐文章于 2021-10-29 11:41:09 发布

e421083458 于 2013-01-06 15:42:51 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

〖第6章:面向对象(高级)〗_实例分析:宠物商店笔记

实例要求:
实现一个宠物商店,在宠物商店中可以有多种(由用户决定数量)宠物,试表示出此种关系,并要求可以根据宠物的关键字查找到相应的宠物信息。所需要的宠物信息自行设计。

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.setName(name);

this.setColor(color);

this.setAge(age);

}

public void setName(String name){

this.name = name;

}

public void setColor(String color){

this.color = color;

}

public int setAge(){

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.setName(name);

this.setColor(color);

this.setAge(age);

}

public void setName(String name){

this.name = name;

}

public void setColor(String color){

this.color = color;

}

public int setAge(){

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=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];

count++;

}

}

}

return p;

}

}

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("金毛","金色的",2));

ps.add(new Dog("啊黄","黄色的",2));

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

}

}

}

}

5.总结:

    在本程序中实际上最重要的就是接口的设计,只要接口设计的足够合理,则程序开发会有很高的灵活性,使用接口可以进行解耦合操作。

    定义及声明数组时可以使用int[] num = null或 int nul[] = null;两种形式皆可!

相关知识

Java面向对象
面向对象
面向对象案例——宠物医院
pyhton面向对象的实例
面向对象练习(3)
面向对象编程——以猫狗宠物商店出发
Python面向对象高级编程——多重继承
初识面向对象(猫咪项目)
Python基本思想——面向对象编程
PHP面向对象(第一部分)

网址: 〖面向对象(高级)〗 https://m.mcbbbk.com/newsview745750.html

所属分类:萌宠日常
上一篇: ET宠物
下一篇: et宠物app