`
jingliankui123
  • 浏览: 104366 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

java工厂方法模式

 
阅读更多

 工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪 

一个类。工厂方法使一个类的实例化延迟到其子类。

工厂方法模式结构为:

 

 

public abstract class AbstractFacotry {
	public abstract Fruit productionFruit();
}

 

 

 

public class AppleFactory extends AbstractFacotry{

	@Override
	public Fruit productionFruit() {
		return new Apple("苹果");
	}

}

 

public class OrangeFactory extends AbstractFacotry{

	@Override
	public Fruit productionFruit() {
		return new Orange("橘子");
	}

}

 

public class PearFactory extends AbstractFacotry{

	@Override
	public Fruit productionFruit() {
		// TODO Auto-generated method stub
		return new Pear("梨");
	}

}

 

public class Apple extends Fruit {
	public Apple(String name,String colour) {
		this.name = name;
		this.colour = colour;
	}
	
	public Apple(String name) {
		this.name = name;
	}
	
	@Override
	public void showName() {
        System.out.println("水果名称为:"+this.name);
	}

	@Override
	public void showColour() {
		System.out.println("水果名颜色:"+this.colour);

	}

	@Override
	public void setColour(String colour) {
		this.colour = colour;
		
	}

}

 

public class Orange extends Fruit {
	
	public Orange(String name, String colour) {
		this.name = name;
		this.colour = colour;
	}
	
	public Orange(String name) {
		this.name = name;
	}

	@Override
	public void showName() {
        System.out.println("水果名称为:"+this.name);
	}

	@Override
	public void showColour() {
		System.out.println("水果名颜色:"+this.colour);

	}

	@Override
	public void setColour(String colour) {
		this.colour = colour;
		
	}
}

 

public class Pear extends Fruit {

	public Pear(String name, String colour) {
		this.name = name;
		this.colour = colour;
	}
	
	public Pear(String name) {
		this.name = name;
	}

	@Override
	public void showName() {
        System.out.println("水果名称为:"+this.name);
	}

	@Override
	public void showColour() {
		System.out.println("水果名颜色:"+this.colour);

	}

	@Override
	public void setColour(String colour) {
		this.colour = colour;
		
	}
}

 

	public static void main(String[] args) {
		 AbstractFacotry af = new AppleFactory();
		 Fruit productionFruit = af.productionFruit();
		 productionFruit.setColour("red");
		 productionFruit.showName();
		 productionFruit.showColour();
		 
		 
		 AbstractFacotry pear = new PearFactory();
		 Fruit pear1 = pear.productionFruit();
		 pear1.setColour("yellow");
		 pear1.showName();
		 pear1.showColour();
	}

 

  • 大小: 38.6 KB
分享到:
评论

相关推荐

    JAVA工厂方法模式

    基础知识讲解分析+工厂模式实例代码以及分析,浅显易懂,不会辜负你的三分

    java工厂方法模式和抽象工厂模式实例

    根据描述,我们将深入探讨Java中的两种工厂模式:工厂方法模式和抽象工厂模式,并通过实例来理解它们的工作原理。 首先,我们来看**工厂方法模式**。这种模式定义了一个用于创建对象的接口,但让子类决定实例化哪一...

    Java中工厂模式案例

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 **1. 简单工厂模式(Simple Factory)** 简单工厂模式中,有一个中心工厂类负责创建对象。这个工厂类通常由一个静态方法构成,根据传入的...

    Java 工厂模式 抽象工厂 工厂方法模式

    本文将深入探讨Java中的工厂模式,包括基本的工厂模式、抽象工厂模式以及工厂方法模式。 **工厂模式**:工厂模式的核心思想是提供一个创建对象的接口,但让实现这个接口的类来决定实例化哪一个类。这样,客户端无需...

    工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式

    工厂模式分为三种主要类型:简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式** 简单工厂模式是最简单的工厂模式实现,它提供一个静态方法或者类来创建对象,这个类通常被称为“工厂”。用户只需要...

    工厂方法模式java实例demo

    在这个“工厂方法模式java实例demo”中,我们可以期待看到如何在实际代码中应用这一模式。 在刘伟老师的《设计模式》一书中,他可能通过一个具体的示例解释了工厂方法模式的概念。这个例子可能涉及创建不同类型的...

    工厂方法模式Java代码

    在Java编程中,工厂方法模式通常通过以下步骤实现: 1. **定义抽象工厂类**:首先,我们需要创建一个抽象工厂接口或抽象类,它声明了将要创建的对象的类型。例如,我们可以定义一个名为`Product`的抽象类或接口,它...

    java设计模式之工厂模式

    java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式java设计模式之工厂模式...

    Java工厂模式:简单工厂、工厂方法模式、抽象工厂模式代码示例

    在Java中,工厂模式分为三种:简单工厂、工厂方法模式和抽象工厂模式。 **简单工厂模式** 是最基本的工厂模式,它由一个工厂类根据传入的参数决定创建哪一种产品类的实例。简单工厂容易实现,但违反开闭原则,即...

    JAVA工厂模式工厂方法模式.pdf

    JAVA工厂模式工厂方法模式.pdf

    工厂方法模式uml类图

    java设计模式 工厂方法模式uml类图,一张图就让你秒懂工厂方法模式

    Java 工厂设计模式例题

    例题简单的阐述了Java工厂模式的概念,有利于读者更好地了解Java工厂模式

    工厂模式(简单工厂,普通工厂,抽象工厂)代码java

    工厂模式分为三种主要类型:简单工厂模式、普通工厂模式(也称为工厂方法模式)和抽象工厂模式。 1. **简单工厂模式**: - 简单工厂模式中,有一个中心工厂类,它负责根据输入条件(通常是一个参数)来创建具体的...

    设计模式——工厂方法模式

    在这个压缩包中,`FactoryMethod`可能包含了Java实现工厂方法模式的源代码示例。 设计模式是一种在特定场景下解决软件设计问题的通用、可重用的解决方案,它代表了最佳实践,被广泛应用于各种编程语言中。工厂方法...

    java三种工厂模式文档+三个实例.rar

    Java工厂模式是面向对象设计模式中的一个重要概念,它提供了一种创建对象的最佳方式。在工厂模式中,我们创建对象时不直接实例化具体类,而是通过一个接口或者抽象类来间接创建。这种模式的核心在于将对象的创建过程...

    Java设计模式之工厂模式实现方法详解

    Java设计模式之工厂模式实现方法详解 工厂模式是 Java 设计模式中的一种重要模式,它提供了一种创建对象的接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。工厂模式主要有三种:简单工厂模式、...

    java设计模式之工厂方法模式

    在Java中,工厂方法模式允许我们定义一个创建对象的接口,但让实现这个接口的类决定实例化哪一个类。这样,类的实例化过程就被推迟到了子类中。 工厂方法模式的核心在于抽象工厂(Abstract Factory)和具体工厂...

    三种工厂模式java实现

    工厂模式通常分为三种:简单工厂模式、工厂方法模式和抽象工厂模式。下面我们将详细探讨这三种工厂模式在Java中的实现。 **1. 简单工厂模式** 简单工厂模式是最早期的工厂模式形式,它通过一个静态工厂方法来创建...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    在Java中,简单工厂、工厂方法和抽象工厂是三种不同的工厂模式实现。 5. **简单工厂模式**:是最简单的工厂模式形式,它包含一个工厂类,根据传入的参数决定返回哪种类型的实例。虽然易于理解,但不易扩展,因为...

Global site tag (gtag.js) - Google Analytics