当前位置: 首页 > news >正文

淘宝京东拼多多购物券网站怎么做推广系统

淘宝京东拼多多购物券网站怎么做,推广系统,湖南疫情浏阳最新消息,企业网站兰州建设费用工厂模式概念 在Java中,工厂模式是一种设计模式,用于创建对象而无需指定明确的类。工厂模式通过定义一个共同的接口或抽象类来创建对象,然后由工厂类根据特定条件或参数来实例化具体的对象。 工厂模式通常包括三种类型:简单工厂…

工厂模式概念

在Java中,工厂模式是一种设计模式,用于创建对象而无需指定明确的类。工厂模式通过定义一个共同的接口或抽象类来创建对象,然后由工厂类根据特定条件或参数来实例化具体的对象。

工厂模式通常包括三种类型:简单工厂模式、工厂方法模式和抽象工厂模式。

  1. 简单工厂模式(Simple Factory Pattern):简单工厂模式是最基本的工厂模式,它通过一个工厂类来创建对象。客户端通过传递参数给工厂类来获取特定类型的对象,而无需关心对象的创建过程。

  2. 工厂方法模式(Factory Method Pattern):工厂方法模式通过定义一个用于创建对象的接口,但将实际创建工作延迟到子类。每个子类都可以实现工厂接口以提供具体的对象实例化过程。

  3. 抽象工厂模式(Abstract Factory Pattern):抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定具体的类。通过使用抽象工厂模式,可以实现一组对象的一致性创建,并且可以轻松地切换不同产品系列的实现。

工厂模式的优点包括:

  • 解耦了对象的创建和使用,使得客户端代码更加灵活和可扩展。
  • 隐藏了对象的具体实现细节,使得客户端只需关心接口或抽象类。

代码示例

简单工厂模式

// Shape 抽象类
public abstract class Shape {public abstract void draw();
}// Circle 类
public class Circle extends Shape {@Overridepublic void draw() {System.out.println("Drawing a circle...");}
}// Square 类
public class Square extends Shape {@Overridepublic void draw() {System.out.println("Drawing a square...");}
}// Triangle 类
public class Triangle extends Shape {@Overridepublic void draw() {System.out.println("Drawing a triangle...");}
}// ShapeFactory 类
public class ShapeFactory {public static Shape getShape(String shapeType) {if (shapeType == null) {return null;}if (shapeType.equalsIgnoreCase("CIRCLE")) {return new Circle();} else if (shapeType.equalsIgnoreCase("SQUARE")) {return new Square();} else if (shapeType.equalsIgnoreCase("TRIANGLE")) {return new Triangle();}return null;}
}// 使用示例:
Shape circle = ShapeFactory.getShape("CIRCLE");
circle.draw(); // Drawing a circle...Shape square = ShapeFactory.getShape("SQUARE");
square.draw(); // Drawing a square...Shape triangle = ShapeFactory.getShape("TRIANGLE");
triangle.draw(); // Drawing a triangle...

工厂方法模式

// TV 抽象类
public abstract class TV {public abstract void play();
}// SamsungTV 类
public class SamsungTV extends TV {@Overridepublic void play() {System.out.println("Playing Samsung TV...");}
}// LGTV 类
public class LGTV extends TV {@Overridepublic void play() {System.out.println("Playing LG TV...");}
}// TVFactory 接口
public interface TVFactory {TV createTV();
}// SamsungTVFactory 类
public class SamsungTVFactory implements TVFactory {@Overridepublic TV createTV() {return new SamsungTV();}
}// LGTVFactory 类
public class LGTVFactory implements TVFactory {@Overridepublic TV createTV() {return new LGTV();}
}// 使用示例:
TVFactory samsungFactory = new SamsungTVFactory();
TV samsungTV = samsungFactory.createTV();
samsungTV.play(); // Playing Samsung TV...TVFactory lgFactory = new LGTVFactory();
TV lgTV = lgFactory.createTV();
lgTV.play(); // Playing LG TV...

抽象工厂模式

// TV 抽象类
public abstract class TV {public abstract void play();
}// SamsungTV 类
public class SamsungTV extends TV {@Overridepublic void play() {System.out.println("Playing Samsung TV...");}
}// LGTV 类
public class LGTV extends TV {@Overridepublic void play() {System.out.println("Playing LG TV...");}
}// Phone 抽象类
public abstract class Phone {public abstract void call();
}// SamsungPhone 类
public class SamsungPhone extends Phone {@Overridepublic void call() {System.out.println("Making a call with Samsung phone...");}
}// LGPhone 类
public class LGPhone extends Phone {@Overridepublic void call() {System.out.println("Making a call with LG phone...");}
}// AbstractFactory 抽象类
public abstract class AbstractFactory {public abstract TV createTV();public abstract Phone createPhone();
}// SamsungFactory 类
public class SamsungFactory extends AbstractFactory {@Overridepublic TV createTV() {return new SamsungTV();}@Overridepublic Phone createPhone() {return new SamsungPhone();}
}// LGFactory 类
public class LGFactory extends AbstractFactory {@Overridepublic TV createTV() {return new LGTV();}@Overridepublic Phone createPhone() {return new LGPhone();}
}// Client 类
public class Client {public static void main(String[] args) {AbstractFactory factory1 = new SamsungFactory();TV samsungTV = factory1.createTV();Phone samsungPhone = factory1.createPhone();samsungTV.play(); // Playing Samsung TV...samsungPhone.call(); // Making a call with Samsung phone...AbstractFactory factory2 = new LGFactory();TV lgTV = factory2.createTV();Phone lgPhone = factory2.createPhone();lgTV.play(); // Playing LG TV...lgPhone.call(); // Making a call with LG phone...}
}
http://www.hkea.cn/news/786187/

相关文章:

  • 福清市建设局网站石家庄学院
  • 找考卷做要去哪个网站中国国家培训网官网查询
  • 软件系统开发的大概步骤优化网站标题名词解释
  • 院校网站建设模板建站平台
  • 淘宝网站内搜索引擎优化怎么做广告推广平台网站有哪些
  • 大片播放网站国外免费推广网站有哪些
  • flash网站cms排名sem优化软件
  • 申请完域名怎么做网站百度链接提交
  • 驻马店市可以做网站的公司百度搜索竞价排名
  • 郑州市做网站吉林百度查关键词排名
  • 济宁网站建设seo抖音seo源码搭建
  • 茂名网站建设方案书简述seo和sem的区别
  • 江西网站做的好的企业文化百度指数在哪里看
  • 山东电商网站建设seo网站排名优化公司
  • 赤峰市做网站公司今日的最新消息
  • 上海最大的贸易公司seo网络推广机构
  • jsp 网站开发广告发布平台
  • b2c网站综合对比评价站长统计幸福宝
  • 网站建设意见做推广app赚钱的项目
  • 哈尔滨营销网站制作做外贸推广
  • 深圳网站建设外贸公司排名搜索热词排名
  • 网络科技公司招聘可靠吗seo多久可以学会
  • 企业网站建设的方案ppt网络营销的特点主要包括什么
  • 如何自行建设网站推广关键词优化
  • 建设学院网站百度收录关键词查询
  • 有关外贸的网站有哪些内容武汉抖音seo搜索
  • 娄底网站建设的话术深圳网站关键词排名优化
  • 福田大型商城网站建设seo营销方法
  • 网站开发专业就业指导企业网站设计与实现论文
  • 网络营销方式的思维导图seo关键词优化系统