Program:宠物商店的设计(继承,接口,线性线性表)
Description:本题未实现图形用户界面,项目结构描述如下:
classes.Pet:定义宠物接口,只要实现该接口的宠物类,都可存储进宠物商店
(本例定义的接口为标识接口,未定义任何方法,只用于标识)
classes.PetShop:宠物商店类,采用了单例设计模式
classes.entity.Dog:宠物狗类,实现了Pet接口
classes.entity.Cat:宠物猫类,实现了Pet接口
main.TestDemo:测试类
classes.Pet
1/*2*Description:定义宠物标识接口,只要是实现此接口的类都为宠物类,都可放进宠物商店3*4*WrittenBy:Cai5*6*DateWritten:2017-10-187*8**/91011packageclasses;1213publicinterfacePet{1415}
classes.PetShop
classes.entity.Dog
1/*2*Description:定义宠物狗类3*4*WrittenBy:Cai5*6*DateWritten:2017-10-187*8**/910packageclasses.entity;1112importclasses.Pet;1314publicclassDogimplementsPet{1516privateStringname;17privateStringcolor;18privateintage;1920//定义构造方法2122publicDog(){}2324publicDog(Stringname,Stringcolor,intage){2526super();27this.name=name;28this.color=color;29this.age=age;30}313233//定义setter()和getter()方法3435publicStringgetName(){36returnname;37}3839publicvoidsetName(Stringname){40this.name=name;41}4243publicStringgetColor(){44returncolor;45}4647publicvoidsetColor(Stringcolor){48this.color=color;49}5051publicintgetAge(){52returnage;53}5455publicvoidsetAge(intage){56this.age=age;57}585960//覆写toString()方法61@Override62publicStringtoString(){63return"Dog[name="+name+",color="+color+",age="+age+"]";64}6566}
classes.entity.Cat
1/*2*Description:定义宠物猫类3*4*WrittenBy:Cai5*6*DateWritten:2017-10-187*8**/910packageclasses.entity;1112importclasses.Pet;1314publicclassCatimplementsPet{1516privateStringname;17privateStringcolor;18privateintage;1920//定义构造方法2122publicCat(){}2324publicCat(Stringname,Stringcolor,intage){2526super();27this.name=name;28this.color=color;29this.age=age;30}313233//定义setter()和getter()方法3435publicStringgetName(){36returnname;37}3839publicvoidsetName(Stringname){40this.name=name;41}4243publicStringgetColor(){44returncolor;45}4647publicvoidsetColor(Stringcolor){48this.color=color;49}5051publicintgetAge(){52returnage;53}5455publicvoidsetAge(intage){56this.age=age;57}585960//覆写toString()方法61@Override62publicStringtoString(){63return"Cat[name="+name+",color="+color+",age="+age+"]";64}6566}
main.TestDemo
1/*2*Description:定义测试类,测试宠物商店3*4*WrittenBy:Cai5*6*DateWritten:2017-10-187*8**/910packagemain;1112importclasses.*;13importclasses.entity.Cat;14importclasses.entity.Dog;1516publicclassTestDemo{1718publicstaticvoidmain(Stringargs[]){1920//取得宠物商店的实例21PetShopshop=PetShop.getInstance();2223//添加宠物24shop.add(newDog("小黑","黑色",2));25shop.add(newDog("小白","白色",3));26shop.add(newCat("小喵","黄色",1));27shop.add(newCat("大喵","白色",3));2829//打印所有宠物30shop.displayInfo();3132}3334}