需求
有一个宠物商店
在这里用户可以购买动物
这里卖猫,卖狗
用户还可以把自己的猫,狗宠物出售给这个商店
这里可以收购猫,狗
每一只猫都可以抓老鼠
每一只狗都可以看家护院
要求用代码来模拟这个场景
分析
Animal类定义
public class Animal {
public void work() {
System.out.println("动作在工作");
}
}
Cat类定义
public class Cat extends Animal {
@Override
public void work() {
System.out.println("猫抓老鼠");
}
}
Dog类定义
public class Dog extends Animal {
@Override
public void work() {
System.out.println("狗看家护院");
}
}
Shop类定义
import java.util.Scanner;
public class Shop {
public Animal sail() {
// 用户决定要买什么宠物
return null;
}
public void buy(Animal item) {
// 要让收到的动物工作
}
}
测试类 用户买动物
public class Test {
public static void main(String[] args) {
// 用户买动物的情景案例
// 实例化一个商店
Shop zb = new Shop();
// 从商店买动物
Animal animal = zb.sail();
// 让买到的动物工作
animal.work();
}
}
商店的sail方法
public Animal sail() {
// 卖动物给用户
System.out.println("宠物商店的销售功能开始运转");
// 询问用户需要什么
System.out.println("请问需要购买什么宠物?1,小猫; 2,小狗");
// 如果用户输入1,就返回猫; 2就返回狗;
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
if (next.equals("1")) {
return new Cat();
} else if (next.equals("2")) {
return new Dog();
}
return null;
}
测试类 商店收购小动物
public class Test {
public static void main(String[] args) {
// 实例化一个商店
Shop shop = new Shop();
// 实例化一只猫
Cat tom = new Cat();
Dog wc = new Dog();
// 商店收购动物
shop.buy(wc);
}
}
商店的buy方法
public void buy(Animal item) {
System.out.println("商店的收购功能运行:");
// 要让收到的动物工作
item.work();
}