黑马程序员技术交流社区
标题:
Java设计模式之装饰模式
[打印本页]
作者:
澂澂
时间:
2015-4-25 13:52
标题:
Java设计模式之装饰模式
装饰设计模式:
当想要对已有的对象进行功能增强时,
可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。
那么自定义的该类称为装饰类。
装饰类通常会通过构造方法接收被装饰的对象。
并基于被装饰的对象的功能,提供更强的功能。
class
Person
{
public
void
chifan
(
)
{
System
.
out
.
println
(
"吃饭"
)
;
}
}
class
SuperPerson
{
private
Person p
;
SuperPerson
(
Person p
)
{
this
.
p
=
p
;
}
public
void
superChifan
(
)
{
System
.
out
.
println
(
"开胃酒"
)
;
p
.
chifan
(
)
;
System
.
out
.
println
(
"甜点"
)
;
System
.
out
.
println
(
"来一根"
)
;
}
}
class
PersonDemo
{
public
static
void
main
(
String
[
args
)
{
Person p
=
new
Person
(
)
;
//p.chifan();
SuperPerson sp
=
new
SuperPerson
(
p
)
;
sp
.
superChifan
(
)
;
}
}
/*
java API 中装饰模式例子
*/
点击(此处)折叠或打开
import
java
.
io
.
*
;
class
BufferedReaderDemo
{
public
static
void
main
(
String
[
args
)
throws
IOException
{
//创建一个读取流对象和文件相关联。
FileReader
fr
=
new
FileReader
(
"buf.txt"
)
;
//为了提高效率。加入缓冲技术。将字符读取流对象作为参数传递给缓冲对象的构造函数。
BufferedReader
bufr
=
new
BufferedReader
(
fr
)
;
String
line
=
null
;
while
(
(
line
=
bufr
.
readLine
(
)
)
!
=
null
)
{
System
.
out
.
print
(
line
)
;
}
bufr
.
close
(
)
;
}
}
作者:
我_杰仔
时间:
2015-4-25 20:53
总结的不错,楼主加油~
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2