简单工厂模式
来源:互联网 发布:人工智能 高清百度云 编辑:程序博客网 时间:2024/05/19 06:49
一个接口 Output
1
2
3
4
5
6
7
package
fact;
public
interface
Output {
int
MAX_CACHE_LINE=
50
;
void
out();
void
getData(String msg);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package
fact;
public
class
Printer
implements
Output{
private
String[] printData =
new
String[MAX_CACHE_LINE];
private
int
dataNum=
0
;
public
void
out()
{
while
(dataNum>
0
)
{
System.out.println(
"打印机打印:"
+printData[
0
]);
System.arraycopy(printData,
1
, printData,
0
, --dataNum);
}
}
public
void
getData(String msg)
{
if
(dataNum>=MAX_CACHE_LINE)
{
System.out.println(
"输出队列已满,添加失败。"
);
}
else
{
printData[dataNum++]=msg;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package
fact;
public
class
BetterPrinter
implements
Output{
private
String[] printData=
new
String[MAX_CACHE_LINE*
2
];
private
int
dataNum=
0
;
public
void
out()
{
while
(dataNum>
0
)
{
System.out.println(
"高速打印正在打印:"
+printData[
0
]);
System.arraycopy(printData,
1
,printData,
0
, --dataNum);
}
}
public
void
getData(String msg)
{
if
(dataNum>=MAX_CACHE_LINE*
2
)
{
System.out.println(
"输出队列已满,添加失败"
);
}
else
{
printData[dataNum++]=msg;
}
}
}
功能:新建一个Computer类,能够方便组合上面任一类(Output或BetterOutput):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package
fact;
public
class
Computer {
private
Output out;
public
Computer(Output out)
{
this
.out=out;
}
public
void
KeyIn(String msg)
{
out.getData(msg);
}
public
void
print()
{
out.out();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package
fact;
public
class
OutputFactory {
public
Output getOutput()
{
//return new Printer();
return
new
BetterPrinter();
}
public
static
void
main(String[] args)
{
OutputFactory of=
new
OutputFactory();
Computer c=
new
Computer(of.getOutput());
c.KeyIn(
"wang"
);
c.KeyIn(
"da"
);
c.print();
}
}
0 0
- 工厂模式-简单工厂
- 工厂模式-简单工厂
- 工厂模式-简单工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 工厂模式-简单工厂模式
- 简单工厂模式,工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂、工厂模式、抽象工厂模式
- 简单工厂&工厂模式&抽象工厂模式
- 简单工厂和工厂模式
- 简单工厂和工厂模式
- 1,工厂模式--简单工厂
- 简单工厂和工厂模式
- 简单工厂,工厂模式,抽象工厂
- 简单工厂,工厂模式,抽象工厂
- 简单工厂、工厂方法、抽象工厂模式
- 简单工厂、工厂模式和抽象工厂
- java里面try,catch,finally异常捕捉
- 模板模式
- 使用抓包工具Fiddler通过手机抓包
- Python - 列表生成式
- 学习
- 简单工厂模式
- CUDA之cudaMemcpyDeviceToHost失败
- 命令模式
- VolleyError解析
- px dp sp区别
- php + mysql 分布式事务
- 携程Android App插件化和动态加载实践
- 使用sqlload批量导入数据
- maven核心,pom.xml详解