拥有一个生产女朋友的工厂,是什么体验

正所谓,“旱的旱死,涝的涝死”,在这个充满竞争的编程界,我们似乎总是忙于解决bug和优化算法,以至于个人生活常常被忽略。但别担心,今天,我们要用一种独特的方式,解决这个“问题”。

那么?你想要一个什么样的对象呢?

public class Girlfriend {
    // 基本属性
    private String name; // 名字
    private int age; // 年龄
    private String hobby; // 爱好
    // 构造函数
    public Girlfriend(String name, int age, String hobby) {
        this.name = name;
        this.age = age;
        this.hobby = hobby;
    }
    // 唱歌的方法
    public void sing() {}
    // 跳舞的方法
    public void dance() {}
   
}

恭喜你,经历心仪的对象有了,那怎么带她回家呢?

public class GirlfriendTest {
    public static void main(String[] args) {
        // 创建一个女朋友对象
        Girlfriend girlfriend = new Girlfriend("Alice", 25, "Reading");
        // 显示女朋友信息
        System.out.println(girlfriend);
        // 让女朋友唱歌
        girlfriend.sing();
        // 让女朋友跳舞
        girlfriend.dance();
        // 让女朋友按摩
        girlfriend.massage();
    }

有的人可能不愿意只有这一个对象,想要冰冷的和火辣的对象都尝试一下,而有些人呢,可能像小编一样,想要给身边的朋友和粉丝都分配“几个”,这个时候呢,就让大家跟我来一起创建个“女朋友工厂”,来实现大家的需求。

工厂模式简介

工厂模式是一种创建型设计模式,它定义了一个创建对象的接口,但让子类决定要实例化的类是哪一个。工厂方法让类的实例化推迟到子类中进行。忽略定义的阶段,只专注于获取和使用。

创建“女朋友”的工厂

在Java中,我们可以创建一个简单的工厂类,用于生成不同类型的“女朋友”对象。这里,我们将“女朋友”抽象为一个接口,然后实现几个不同的具体类。

定义“女朋友”接口

public interface Girlfriend {
    void giveGift();
    void goOut();
}

实现不同的“女朋友”类

public class TechGirlfriend implements Girlfriend {
    @Override
    public void giveGift() {
        System.out.println("Giving a tech gadget.");
    }

    @Override
    public void goOut() {
        System.out.println("Going to a tech conference.");
    }
}

public class SportsGirlfriend implements Girlfriend {
    // ... 类似的方法实现
}

// 可以继续添加更多的实现

创建工厂类

public abstract class GirlfriendFactory {
    public abstract Girlfriend createGirlfriend();
}

public class TechGirlfriendFactory extends GirlfriendFactory {
    @Override
    public Girlfriend createGirlfriend() {
        return new TechGirlfriend();
    }
}

public class SportsGirlfriendFactory extends GirlfriendFactory {
    // ... 类似的方法实现
}

使用工厂模式

public class FactoryDemo {
    public static void main(String[] args) {
        GirlfriendFactory techFactory = new TechGirlfriendFactory();
        Girlfriend techGirlfriend = techFactory.createGirlfriend();
        techGirlfriend.giveGift();
        techGirlfriend.goOut();

        // 可以继续使用其他工厂生成不同类型的女朋友对象
    }
}

通过上述示例,我们可以看到工厂模式如何帮助我们以一种灵活和可扩展的方式来创建对象。以后没有女朋友,就给自己new一个工厂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JAVA新视界

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

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

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

打赏作者

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

抵扣说明:

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

余额充值