20231115_141808 java 多态 演练 宠物商店

需求

有一个宠物商店
在这里用户可以购买动物
这里卖猫,卖狗
用户还可以把自己的猫,狗宠物出售给这个商店
这里可以收购猫,狗

每一只猫都可以抓老鼠
每一只狗都可以看家护院

要求用代码来模拟这个场景

分析

Shop
Animal sail()
void buy(Animal item)
Cat
void work()
Dog
void work()
Animal
void work()

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();
    }
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值