Java IO的装饰模式原理
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要讲解了"Java IO的装饰模式原理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java IO的装饰模式原理"吧!Java 处理流相当于
千家信息网最后更新 2025年12月02日Java IO的装饰模式原理
这篇文章主要讲解了"Java IO的装饰模式原理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java IO的装饰模式原理"吧!
Java 处理流相当于对节点流(以File 或Byte 开头的类)进行了包装装饰,装饰模式原理如下
package com.sxt.io;/** * 模拟咖啡 * 1、抽象组件:需要装饰的抽象对象(接口或抽象父类) * 2、具体组件:需要装饰的对象 * 3、抽象装饰类:包含了对抽象组件的引用以及装饰着共有的方法 * 4、具体装饰类:被装饰的对象 * * @author TW */public class DecorateTest02{ public static void main(String[] args) { Drink coffee = new Coffee(); Drink suger = new Suger(coffee); //装饰 System.out.println(suger.info() + "-->" + suger.cost()); Drink milk = new Milk(coffee);//装饰 System.out.println(milk.info() + "-->" + milk.cost()); milk = new Milk(suger);//装饰 System.out.println(milk.info() + "-->" + milk.cost()); }}//抽象组件interface Drink{ double cost(); //费用 String info(); //说明}//具体组件class Coffee implements Drink{ private String name = "原味咖啡"; @Override public double cost() { return 10; } @Override public String info() { return name; }}//抽象装饰类abstract class Decorate implements Drink{ //对抽象组件的引用 private Drink drink; public Decorate(Drink drink) { this.drink = drink; } @Override public double cost() { return this.drink.cost(); } @Override public String info() { return this.drink.info(); }}//具体装饰类class Milk extends Decorate{ public Milk(Drink drink) { super(drink); } @Override public double cost() { return super.cost() * 4; } @Override public String info() { return super.info() + "加入了牛奶"; }}class Suger extends Decorate{ public Suger(Drink drink) { super(drink); } @Override public double cost() { return super.cost() * 2; } @Override public String info() { return super.info() + "加入了蔗糖"; }}感谢各位的阅读,以上就是"Java IO的装饰模式原理"的内容了,经过本文的学习后,相信大家对Java IO的装饰模式原理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
组件
原理
模式
对象
学习
内容
咖啡
原味
就是
开头
思路
情况
接口
文章
方法
更多
牛奶
知识
知识点
篇文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
山东沃德网络技术有限公司概况
成都网络安全考试答案
武汉市软件开发人员平均工资
afc怎样做到网络安全
游戏王avc数据库追加卡
数据库图表的功能
ping 命令软件开发
合肥计算机网络技术培训
蝴蝶谷软件开发商
网络安全法相关制度
北京拉卡拉网络技术...
网络安全警示教案
ftp服务器端口7060的作用
福建好的软件开发创新服务
磐石网络技术有限公司
联想服务器rd350
合金装备5服务器正在维修中
数据库外面链接不上
删除数据库 判刑
广州市人本网络技术
2019服务器如何开端口
smp 数据库
负载服务器
科谷网络技术有限公司怎么样
鼓动群众参加网络安全宣传
网络技术有限公司诈骗
x58服务器性能
流数据库 ai
pyqt5 数据库入门
大连辣苹果网络技术有限公司