Java装饰器怎么写
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍了Java装饰器怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java装饰器怎么写文章都会有所收获,下面我们一起来看看吧。//// 模拟咖啡/
千家信息网最后更新 2025年12月02日Java装饰器怎么写
这篇文章主要介绍了Java装饰器怎么写的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java装饰器怎么写文章都会有所收获,下面我们一起来看看吧。
//// 模拟咖啡// 1.抽象组件:需要装饰的抽象对象(接口或者抽象父类)// 2.具体组件:需要装饰的对象// 3.抽象装饰类:包含了对抽象组件的引用以及装饰着共有的方法// 4.具体装饰类:被装饰的对象public class TestDecoretorTwo {public static void main(String[] args) {Drink coffee = new coffee();Drink suger = new Suger(coffee);System.out.println(suger.cost() + "--->" + suger.Info());Drink milk = new Milk(coffee);System.out.println(milk.cost() + "--->" + milk.Info());Drink milk1 = new Milk(suger);System.out.println(milk1.cost() + "--->" + milk1.Info()); }}// 1.抽象组件 interface Drink{int cost();String Info(); } // 2.具体组件: class coffee implements Drink{String name="原味咖啡";public int cost() {return 10; }@Override public String Info() {return name; } }// 3.抽象装饰类: class Decorate implements Drink{//对抽象组件的引用 private Drink drink;public Decorate(Drink drink) {//这里是一个构造器(this) this.drink = drink; }@Override public int cost() {return this.drink.cost(); }@Override public String Info() {return this.drink.Info(); } }// 4.具体装饰类1: class Milk extends Decorate{public Milk(Drink drink) {//这里是一个构造器,(super) super(drink); }@Override public int cost() {return super.cost()*4; }@Override public String Info() {return super.Info()+"加入了牛奶"; } }// 4.具体装饰类2: class Suger extends Decorate{public Suger(Drink drink) {super(drink); }@Override public int cost() {return super.cost()*2; }@Override public String Info() {return super.Info()+"加入了蔗糖"; } }输出结果
20--->原味咖啡加入了蔗糖
40--->原味咖啡加入了牛奶
80--->原味咖啡加入了蔗糖加入了牛奶
关于"Java装饰器怎么写"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Java装饰器怎么写"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
组件
咖啡
原味
对象
牛奶
知识
蔗糖
内容
篇文章
构造器
价值
接口
操作简单
文章
方法
易懂
更多
看吧
结果
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库二级映射内容
网络技术服务技术指导
保定数据库安全
风云天下有哪些服务器
中传黄玮 网络安全
网络安全知识发言材料存在问题
征信报告中的数据库
惠州塔式服务器推荐商家
软件开发是需要数学好的吗
网络安全马克笔设计图
软件开发报价原则
sql导出数据库表数据库
查看数据库中的函数
浦东新区二手网络技术施工
c端软件开发什么意思
网络安全审查左胜高
达梦数据库 sql使用
郑州柏龙达网络技术服务
南京光智互联网科技有限公司
100台服务器同时安装系统
小额借款软件开发
西藏通信网络技术有限公司
查询数据库时间段是否交叉
网络安全法批注
歌华有线网络技术部董悦
快速网络技术加盟电话多少
网络安全 测试环境
数据库安装使用视频
服务器软件运行卡顿原因
云网络安全