
C# 桥接模式
发布日期:2021-05-07 21:45:10
浏览次数:19
分类:技术文章
本文共 3229 字,大约阅读时间需要 10 分钟。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 桥接模式{ class Program { static void Main(string[] args) { //创建一个遥控器 RemoteControl remoteControl = new ConcreteRemote(); //长虹电视机 remoteControl.Implementor = new ChangHong(); remoteControl.On(); remoteControl.SetChannel(); remoteControl.Off(); Console.WriteLine(); //三星牌电视机 remoteControl.Implementor = new Samsung(); remoteControl.On(); remoteControl.SetChannel(); remoteControl.Off(); Console.ReadKey(); } ////// 电视机,提供抽象方法 /// public abstract class TV { ////// 开电视 /// public abstract void On(); ////// 关电视 /// public abstract void Off(); ////// 换频道 /// public abstract void tuneChannel(); } ////// 抽象概念中的遥控器,扮演抽象化角色 /// public class RemoteControl { private TV implementor; public TV Implementor { get { return implementor; } set { implementor = value; } } ////// 开电视机,这里抽象类中不再提供实现了,而是调用了实现类中的实现 /// public virtual void On() { implementor.On(); } ////// 关电视机 /// public virtual void Off() { implementor.Off(); } ////// 换频道 /// public virtual void SetChannel() { implementor.tuneChannel(); } } ////// 具体遥控器 /// public class ConcreteRemote : RemoteControl { public override void SetChannel() { //Console.WriteLine("-----------"); //base.SetChannel(); //Console.WriteLine("-----------"); Console.WriteLine("具体遥控器 换频道"); base.SetChannel(); } } ////// 长虹电视机,重写基类的抽象方法 /// 提供具体的实现 /// public class ChangHong : TV { public override void Off() { Console.WriteLine("长虹牌电视机已经关掉了"); } public override void On() { Console.WriteLine("长虹牌电视机已经打开了"); } public override void tuneChannel() { Console.WriteLine("长虹牌电视机换频道"); } } ////// 三星牌电视机,重写基类的抽象方法 /// public class Samsung : TV { public override void On() { Console.WriteLine("三星牌电视机已经打开了"); } public override void Off() { Console.WriteLine("三星牌电视机已经关掉了"); } public override void tuneChannel() { Console.WriteLine("三星牌电视机换频道"); } } }}
运行:
发表评论
最新留言
不错!
[***.144.177.141]2025年04月16日 11时27分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
dll路径加载顺序
2019-03-06
悬垂指针和野指针的区别
2019-03-06
软考相关试题
2019-03-06
顺序表的操作
2019-03-06
常量表达式
2019-03-06
POD类型
2019-03-06
安装HDF5及在VS下配置HDF5
2019-03-06
const与常量,傻傻分不清楚~
2019-03-06
图解哈希表及其原理
2019-03-06
Head First设计模式——迭代器模式
2019-03-06
Head First设计模式——中介者模式和备忘录模式
2019-03-06
MongoDB版本及存储引擎区别
2019-03-06
shell echo单行和多行文字定向写入到文件中
2019-03-06
解析树状数组
2019-03-06
AtCoder Beginner Contest 100 题解
2019-03-06
【数据结构】可持久化线段树初步
2019-03-06
克拉默法则&矩阵分块:线性代数学习笔记2
2019-03-06
后缀树
2019-03-06
Java高性能编程之CAS与ABA及解决方法
2019-03-06
从BIO到Netty的演变
2019-03-06