java中新建工厂类_JAVA中的工场类有什么用,需要什么时候创建

展开全部

这个东西需要专门讲讲,我先留个标记,然后好好写一个够重量的给你

首先,我要说明,以下的东西都是我自己的62616964757a686964616fe58685e5aeb931333335333831理解,如果有错漏,欢迎指出

------------------分隔线----------------------------------------

首先,工厂类不是一个类,我这么说也许有些不清楚,但是这句话的确不太好表达,

它是一种设计模式,利用接口,工厂化的方法将实例化延迟到了子类的时候,

通俗点说,这个类在运行时根据客户的选择条件动态实例化相关的类,而不是在编写

代码的时候就写死,这种设计模式我不多说,相信你也明白它的优势在哪里。

先回答你得两个问题

---------------------------------分隔线----------------------------------

为什么用

用最直白的话来说,通常来讲我们的类实例化的时候用一个关键词new,而还有些类

实例化的时候用的不是new而是getinstance,这种就是所谓的工厂类用的。作用的话我前面说了,

它是用来增加灵活性的,传统的new做一个登陆的简单逻辑大概如下(省略部分代码)class Login {

private User user;

public Login() {

user = new User(); //创建对象,假设这个User是一个定义好的类

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个C#的抽象工厂类的示例代码: ```csharp public abstract class AbstractFactory { public abstract ProductA CreateProductA(); public abstract ProductB CreateProductB(); } ``` 上述代码定义了一个名为 `AbstractFactory` 的抽象工厂类,其包含两个抽象方法 `CreateProductA()` 和 `CreateProductB()`,分别用于创建产品A和产品B的实例。具体的工厂类可以继承该抽象类并实现这两个方法。 下面是一个具体的工厂类的示例代码: ```csharp public class ConcreteFactory : AbstractFactory { public override ProductA CreateProductA() { return new ConcreteProductA(); } public override ProductB CreateProductB() { return new ConcreteProductB(); } } ``` 上述代码定义了一个名为 `ConcreteFactory` 的具体工厂类,它继承了 `AbstractFactory` 抽象类,并实现了其的两个抽象方法,用于创建具体的产品A和产品B的实例。 最后,我们可以基于抽象工厂类和具体工厂类,生成一个项目,例如: ```csharp AbstractFactory factory = new ConcreteFactory(); ProductA productA = factory.CreateProductA(); ProductB productB = factory.CreateProductB(); // 使用产品A和产品B进行业务处理 ``` 上述代码,首先创建了一个具体工厂类 `ConcreteFactory` 的实例 `factory`,然后使用该工厂创建了产品A和产品B的实例 `productA` 和 `productB`,最后可以使用这两个实例进行业务处理。 当然,这只是一个简单的示例,具体的实现方式可以根据实际需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值