当前位置: 首页> 汽车> 维修 > 在线客服系统源码带app_有限责任公司属于什么法人_google优化排名_网络营销的表现形式有哪些

在线客服系统源码带app_有限责任公司属于什么法人_google优化排名_网络营销的表现形式有哪些

时间:2025/7/14 3:23:16来源:https://blog.csdn.net/qq_39505245/article/details/144728181 浏览次数: 0次
在线客服系统源码带app_有限责任公司属于什么法人_google优化排名_网络营销的表现形式有哪些

工厂方法模式简介

工厂方法模式 : Factory Method Pattern : 是一种创建型模式
核心定义一个创建对象的接口,具体的创建对象的动作由子类实现
效果 : 工厂方法的模式,使得目标类的实例化过程延迟到了 工厂子类中

核心角色介绍

产品类 :要创建的目标类,也可以是接口类型; 比如 : 手机。
具体产品类 : 要创建的目标类的具体的类型; 比如 : 小米手机。
工厂类声明工厂方法,该方法返回的是产品类型的对象。可以包含其他业务逻辑,但并不负责创建具体的产品实例;比如 : 手机工厂。
具体工厂类 : 包含对具体产品的引用,并实现工厂类中的方法,以及返回产品对象;比如 : 小米手机工厂。

使用场景案例

场景介绍

1、有一个 手机类型;
2、有 小米手机 和 华为手机 两个具体的手机类型;
3、有一个 手机工厂的 接口;
4、有小米手机工厂 和 华为手机工厂 两个具体的生产手机的工厂类,分别生产不同的具体类型的手机。

UML类图

在这里插入图片描述

具体代码实现

手机抽象类

public abstract class Phone {/*** 手机品牌名称*/protected String brandName;/*** 抽象方法 : 拨打电话*/protected abstract void call();public Phone(String brandName) {this.brandName = brandName;}public String getBrandName() {return brandName;}public void setBrandName(String brandName) {this.brandName = brandName;}
}

小米手机类

public class XiaomiPhone extends Phone{public XiaomiPhone(String brandName) {super(brandName);}@Overrideprotected void call() {System.out.println(brandName + " 正在拨打电话。。。");}
}

华为手机类

public class HuaweiPhone extends Phone{public HuaweiPhone(String brandName) {super(brandName);}@Overrideprotected void call() {System.out.println(brandName + " is calling ......");}
}

工厂接口

public interface PhoneFactory {/*** 创建手机对象的方法*/Phone createPhone();
}

小米手机工厂

public class XiaomiPhoneFactory implements PhoneFactory{@Overridepublic Phone createPhone() {return new XiaomiPhone("小米14");}
}

华为手机工厂

public class HuaweiPhoneFactory implements PhoneFactory{@Overridepublic Phone createPhone() {return new HuaweiPhone("华为mate50");}
}

测试使用

public class FactoryMethodPatternTest {public static void main(String[] args) {// 要创建的对象Phone phone = null;// 创建对象的工厂类PhoneFactory phoneFactory = null;String brandName = "xiaomi";// 根据条件,使用不同的具体的工厂类,进行对象的创建if (brandName.equals("huawei")){// 使用具体的工厂类进行对象的创建phoneFactory = new HuaweiPhoneFactory();phone = phoneFactory.createPhone();}else if (brandName.equals("xiaomi")){// 使用具体的工厂类进行对象的创建phoneFactory = new XiaomiPhoneFactory();phone = phoneFactory.createPhone();}// 调用 对象进行打电话phone.call();}
}
运行结果 : 根据条件使用不同的工厂创建具体的手机对象:小米14 正在拨打电话。。。
关键字:在线客服系统源码带app_有限责任公司属于什么法人_google优化排名_网络营销的表现形式有哪些

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: