Java IO的装饰模式原理
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要讲解了"Java IO的装饰模式原理",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java IO的装饰模式原理"吧!Java 处理流相当于
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
少儿编程和软件开发走哪个
荣昌租房网络安全
网络安全保护等级制度
报表服务器配置
栾川智联互联网科技
菲律宾云服务器
esxi6.0 服务器安装
中塑在线数据库
上海即时网络技术产品
湖北生活频道青少年网络安全教育
数据库课后思考题答案
陕西数据库安全审计
客户数据库需求分析怎么写
sql数据库建立学生登记表
计算机三级网络技术看不懂
福州中东网络技术
寒假免费使用数据库
服务器双电源灯闪烁
软件开发算法知识
进销存软件开发教程视频
荒野行动如何隐藏服务器
数据库用界面操作入库
郧西互联网软件开发品质保障
阿里云服务器磁盘空间怎么看
域名服务器 搭建
数据库安全性特点
不履行网络安全保护义务责任
我的世界有趣的服务器号码
数据库编辑软件有哪些
网络安全的逆向是不是很难