桥接设计模式

package com.jmj.pattern.bridge;/*** 视频文件(实现化角色)*/
public interface VideoFile {void decode(String fileName);
}

 

package com.jmj.pattern.bridge;public class RmvFile implements VideoFile{@Overridepublic void decode(String fileName) {System.out.println("rmvb视频文件:"+fileName);}
}
package com.jmj.pattern.bridge;/*** avi视频文件(具体的实现化角色)*/
public class AviFile implements VideoFile{@Overridepublic void decode(String fileName) {System.out.println("avi 视频文件 : "+fileName);}
}
package com.jmj.pattern.bridge;public abstract class OpratingSystem {//声明videoFile变量protected  VideoFile videoFile;public OpratingSystem(VideoFile videoFile) {this.videoFile = videoFile;}public abstract void play(String fileName);}
package com.jmj.pattern.bridge;/*** 扩展抽象化角色(windows操作系统)*/
public class Windows extends OpratingSystem{public Windows(VideoFile videoFile) {super(videoFile);}@Overridepublic void play(String fileName) {videoFile.decode(fileName);}
}
package com.jmj.pattern.bridge;public class Mac extends OpratingSystem{public Mac(VideoFile videoFile) {super(videoFile);}@Overridepublic void play(String fileName) {videoFile.decode(fileName);}
}
package com.jmj.pattern.bridge;public class Client {public static void main(String[] args) {//创建mac系统对象OpratingSystem system=new Mac(new RmvFile());system.play("战狼3");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/234329.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

米贸搜|如何用Facebook为eBay实现引流?

要利用Facebook为eBay实现引流,可以尝试以下方法: 创建专页或社群:在Facebook上创建一个专页或社群,专注于你在eBay上销售的产品或相关主题。确保专页或社群的名称和描述清楚地表明与eBay有关。 定期发布内容:在Face…

彻底解决A JNI error has occurred, please check your installation and try again

报错信息 A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/JarLauncher has been compiled by a more recent version of the Java…

Sourcepawn 脚本入门(一)准备

🍎Sourcepawn 脚本入门(一)准备 1.Sourcepawn是什么? Sourcepawn是SourceMod团队开发的基于source-sdk的服务器插件开发的一种脚本语言。 SourceMod: Half-Life 2 Scripting 它适用于大部分起源引擎的游戏,多见于L4D,CSS,CSGO, …

C盘爆红 教你如何快速释放空间

目录 问题描述: C盘爆红 快速清理空间: 1.找到设置 2.选择系统 3.打开存储 4.进入清理建议 5.选择以前的Windows安装文件 6.点击清理 7.至此清理完成 问题描述: C盘爆红 快速清理空间: 1.找到设置 2.选择系统 3.打开存储 4.进入清…

vue2全局混入正确使用场景和错误场景示例

全局混入在 Vue.js 中的使用场景需要谨慎考虑,因为它会影响所有组件。以下是一些正确和错误的使用场景的例子: 正确的使用场景: 全局工具方法: // 正确的使用场景 Vue.mixin({methods: {$formatDate: function (date) {// 格式化…

Android的启动模式

Android的四种启动模式:standard、singleTop、singleTask和singleInstance。 1.standard Android默认的启动模式是standard,每启动一个Activity,它都会在返回栈中入栈,并处于栈顶,不管这个返回栈是否存在这个activit…

C语言——指针(三)

📝前言: 上篇文章C语言——指针(二)中对:指针的运算和指针变量类型对指针使用的影响开展了进一步的探讨,这篇文章我们继续学习一下指针与一维数组之间的关系: 1,对数组名的理解 2&am…

python变量的作用域

同名变量 内层屏蔽外层 global语句 global强调全局变量

如何使用Windows自带的IIS服务搭建本地站点并远程访问

文章目录 1.前言2.Windows网页设置2.1 Windows IIS功能设置2.2 IIS网页访问测试 3. Cpolar内网穿透3.1 下载安装Cpolar内网穿透3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5.结语 1.前言 在网上各种教程和介绍中,搭建网页都会借助各种软件的帮助&#xf…

(免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐

摘 要 随着时代的不断更新,社会的不断变换,信息技术的飞速发展,计算机科技技术也逐步走向成熟。图书馆管理系统对于当今社会来说是必不可少的一个信息组成部分,它可以管理大量图书、大量读者、让读者有条不紊的进行借阅图书&#…

鸿蒙原生应用/元服务开发-AGC分发如何下载管理Profile

一、收到通知 尊敬的开发者: 您好,为支撑鸿蒙生态发展,HUAWEI AppGallery Connect已于X月XX日完成存量HarmonyOS应用/元服务的Profile文件更新,更新后Profile文件中已扩展App ID信息;后续上架流程会检测API9以上Harm…

DiSC沟通法,如何提高项目沟通效率?

DISC模型是一种用于理解和改善人际沟通的工具,它可以帮助团队成员更好地理解自己和他人的沟通方式,从而提高团队的沟通效率和协作效率。如果双方没有理解和适应对方的行为风格,往往容易造成误解甚至冲突,从而不利于团队间沟通协作…