博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装饰模式和继承的区别
阅读量:7304 次
发布时间:2019-06-30

本文共 437 字,大约阅读时间需要 1 分钟。

MyReader 专门用于读取数据的抽象类

|--MyTextReader
|--MyBufferedTextReader
|--MyMp3Reader
|--MyBufferedMp3Reader
如果多个这样的二级类,每个二级类下面又有3级类,会让这个体系看起来很臃肿,这些3级类看起来又有共同的特点,那么考虑用装饰模式
class MyBufferedReader{
// MyBufferedReader(MyTextReader myTextReader){
//扩展型很差
// }
MyBufferedReader(MyReader myReader){
//这里用到了参数多态
}
}
如果用了装饰模式,上述体系变成如下模样
MyReader 专门用于读取数据的抽象类
|--MyTextReader
|--MyMp3Reader
|--MyBufferedReader

转载于:https://blog.51cto.com/13579086/2064993

你可能感兴趣的文章
MD5密码加密
查看>>
LeetCode | Word Ladder II
查看>>
模块化开发seajs 配置和简单调用
查看>>
新版谷歌浏览器设置flash插件不提示步骤
查看>>
控件联动(三级联动)
查看>>
使用OGR创建dxf格式矢量数据
查看>>
冒泡排序--通过冒泡算法让数组中最大的值成为数组中最后一个值
查看>>
flock文件锁的学习和应用
查看>>
DotNet 资源大全中文版(Awesome最新版)
查看>>
实验三报告
查看>>
React入门与实践
查看>>
Python3的深拷贝和浅拷贝
查看>>
Django环境的搭建以及最简示例
查看>>
UVA-10954 Add All
查看>>
复合赋值运算&简单赋值运算
查看>>
scalikejdbc 学习笔记(2)
查看>>
【深入学习iOS开发(五)】Archive(归档)
查看>>
博客作业03--栈和队列
查看>>
showSoftInput不起作用
查看>>
面向对象简述--对象、引用、指针
查看>>