package 工厂方法模式;

package 工厂方法模式;


interface Fruit {
public void show();
}


class Banana implements Fruit {
public void show() {
System.out.println("我是香蕉");
}
}


class Apple implements Fruit {
public void show() {
System.out.println("我是苹果");
}
}


interface FruitFactory {
public Fruit getInstance();
}


class AppleFactory implements FruitFactory {
private Apple apple = new Apple();
public Fruit getInstance() {
return apple;
}


}


class BananaFactory implements FruitFactory {
private Banana banana = new Banana();
public Fruit getInstance() {
return banana;
}


}


public class FactoryMethod {
public static void main(String[] args) {
System.out.println("工厂方法模式");
AppleFactory afAppleFactory = new AppleFactory();
Fruit apple = afAppleFactory.getInstance();
apple.show();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Golang 中的工厂模式是一种常见的设计模式,用于创建对象而无需指定其具体类型。它通过提供一个共同的接口来创建不同类型的对象,并将对象的实例化过程封装起来。这样,客户端代码只需要和工厂接口进行交互,而不用关心具体对象的创建细节。 下面是一个简单的示例,展示了如何在 Golang 中实现工厂模式: ```go package main import "fmt" // 定义接口 type Animal interface { Speak() string } // 定义结构体和方法 type Cat struct{} func (c Cat) Speak() string { return "Meow" } type Dog struct{} func (d Dog) Speak() string { return "Woof" } // 定义工厂函数 func NewAnimal(animalType string) Animal { switch animalType { case "cat": return Cat{} case "dog": return Dog{} default: return nil } } func main() { // 使用工厂函数创建对象 cat := NewAnimal("cat") fmt.Println(cat.Speak()) // 输出 "Meow" dog := NewAnimal("dog") fmt.Println(dog.Speak()) // 输出 "Woof" } ``` 在上述示例中,我们定义了一个 Animal 接口以及两个结构体 Cat 和 Dog,它们都实现了 Animal 接口中的 Speak() 方法。然后,我们实现了一个工厂函数 NewAnimal,根据传入的参数来创建相应的具体对象。 通过使用工厂函数,我们可以根据需要创建不同类型的 Animal 对象,而不需要直接调用具体的结构体构造函数。这样可以提高代码的灵活性和可维护性,同时将对象的创建逻辑封装起来,使得客户端代码更加简洁和易于理解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值