JAVA学习--接口的应用:工厂方法的设计模式

 1 public class TestFactoryMethod {
 2     public static void main(String[] args) {
 3         IWorkFactory i = new StudentWorkFactory();
 4         i.getWork().doWork();
 5
 6         IWorkFactory i1 = new TeacherWorkFactory();
 7         i1.getWork().doWork();
 8     }
 9 }
10
11 interface IWorkFactory{
12     Work getWork();
13 }
14 class StudentWorkFactory implements IWorkFactory{
15
16     @Override
17     public Work getWork() {
18         return new StudentWork();
19     }
20
21 }
22 class TeacherWorkFactory implements IWorkFactory{
23
24     @Override
25     public Work getWork() {
26         return new TeacherWork();
27     }
28
29 }
30
31 interface Work{
32     void doWork();
33 }
34
35 class StudentWork implements Work{
36
37     @Override
38     public void doWork() {
39         System.out.println("学生写作业");
40     }
41
42 }
43 class TeacherWork implements Work{
44
45     @Override
46     public void doWork() {
47         System.out.println("老师批改作业");
48     }
49
50 } 
时间: 2024-11-25 18:16:24

JAVA学习--接口的应用:工厂方法的设计模式的相关文章

《JAVA与模式》之工厂方法模式

在阎宏博士的<JAVA与模式>一书中开头是这样描述工厂方法模式的: 工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式. 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中. 那么工厂方法模式是在什么场景下使用呢,下面就以本人的理解举例说明: 相信很多人都做过导入导出功能,就拿导出功能来说.有这么一个需求:XX系统需要支持对数据库中的员工薪资进行导出,并且支持多种格式

Java的23中设计模式--工厂方法模式(Factory Method)

1.普通工厂模式 工厂类 /** * @Title Factory.java * @Package factory.factory1 * @date 2015-1-22 上午10:16:02 * @version V1.0 */ package factory.factory1; /** * @ClassName Factory * @date 2015-1-22 上午10:16:02 */ public class Factory { public Sender procedure(Strin

Java学习笔记之RMI远程方法调用

RMI 应用通常有两个分开的程序组成,一个服务端程序和一个客户端程序.一个典型的服务端程序创建一些远程对象,使得对这些远程对象的引用可以被访问,等待客户端调用这些远程对象提供的方法.一个典型的客户端程序获取远程引用,指向一个或者多个服务端上的远程对象,然后调用这些远程对象所提供的方法.通常我们称这为分布式对象应用程序. 3.1 RMI的工作方式 分布式对象应用程序需要做的事情: l 查找(定位)远程对象. 应用程序可以使用各种不同的机制取得远程对象的引用.比如应用程序可以通过 RMI 提供的简单

Effective JAVA NO1考虑用静态工厂方法代替构造器

NO1.考虑用静态工厂方法代替构造器 静态工厂方法与构造器不同的第一大优势在于它们有名称: 静态工厂方法与构造器不同的第二大优势在于,不必在每次调用它们的时候都创建一个新对象: 第三大优势,它们可以返回原返回类型的任何子类型的对象: 第四大优势,在创建参数化类型实例的时候,它们使代码变得更加简洁: 缺点: 1.类如果含公有的或者受保护的构造器,就不能被子类化. 2.它们与其他的静态方法实际不上没有任何区别.

Java的接口(interface)属性和方法的类型

接口的属性必须是public static final Type 接口的方法必须是public abstract Type 不管你是全写,或只写部分,系统都会自动按上面的要求不全 也就是说 接口中 所有的属性 都是 只能是 静态的常量              接口中 所有的方法都是 只能是 抽象方法

JAVA--简单工厂模式,工厂方法模式--设计模式一

1,简单工厂模式的分类和使用场景: (1)简单工厂模式一般分为:普通简单工厂,多方法简单工厂,静态方法简单工厂 (2)使用场景: 总体来说,工厂模式适合,凡是出现了大量的产品需要创建,并且具有共同的接口时, 可以通过工厂方法模式进行创建,在以下的三种模式中,第一种如果传入字符串有误,不能 正确创建对象,第三种相对于第二种,不需要实例化工厂类,所以,大多数情况下,我们会 选择第三种-------静态工厂方法模式 2,普通简单工厂模式: (1)就是建立一个工厂类,对实现了同一接口的一些类进行实例的创

JAVA学习--接口使用方法

* 接口(interface) 是与类并行的一个概念  * 1.接口可以看做是一个特殊的抽象类.是常量与抽象方法的一个集合,不能包含变量.一般的方法.  * 2.接口是没有构造器的.  * 3.接口定义的就是一种功能.此功能可以被类所实现(implements).  * 比如:class CC extends DD implements AA  * 4.实现接口的类,必须要重写其中的所有的抽象方法,方可实例化.若没有重写所有的抽象方法,则此类仍为一个抽象类  * 5.类可以实现多个接口.----

JAVA学习--接口使用方法2(接口间的多态性)

1 //接口与具体的实现类之间也存在多态性 2 public class TestInterface { 3 4 public static void main(String[] args) { 5 Duck d = new Duck(); 6 TestInterface.test1(d); 7 TestInterface.test2(d); 8 TestInterface.test3(d); 9 } 10 11 public static void test1(Runner r){//Runn

Java学习——接口Interface

接口: 初期理解可以认为是一个特殊的抽象类 当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示.class用于定义类interface 用于定义接口 接口定义时,格式特点:1,接口中常量见定义:常量,抽象方法.2,接口中的成员都有固定修饰符号 常量:public static final 方法:public abstracts 记住: 接口中的成员都是public的 接口:是不可以创建对象的,因为有抽象方法.需要被子类实现,子类对接口中的抽象方法全都覆盖后,子类才可以实例化.否则子类是