适配器模式
来源:互联网 发布:宜宾行知学校报名 编辑:程序博客网 时间:2024/05/13 15:01
1.适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口,Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作
2.应用:1)使用一个已经存在的类,如果它的接口,也就是它的方法和你要求的不相同时,就应该考虑用适配器模式
2)双方都不太容易修改的时候再使用适配器模式适配
3.练习:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 适配器模式{ class Program { static void Main(string[] args) { Player mPlayer = new Forward("巴蒂尔"); mPlayer.Attack(); Player yPlayer = new Translator("姚明"); yPlayer.Attack(); yPlayer.Defense(); Console.ReadKey(); } } #region- 篮球运动员 - abstract class Player { protected string name; public Player(string name) { this.name = name; } public abstract void Attack(); public abstract void Defense(); } #endregion #region- 前锋 - class Forward : Player { public Forward(string name) : base(name) { } public override void Attack() { Console.WriteLine("前锋 {0} 进攻",name); } public override void Defense() { Console.WriteLine("前锋 {0} 防守",name); } } #endregion #region- 中锋 - class Center : Player { public Center(string name) : base(name) { } public override void Attack() { Console.WriteLine("中锋{0}进攻",name); } public override void Defense() { Console.WriteLine("中锋{0}防守",name); } } #endregion #region- 外籍中锋 - class ForeignCenter { private string name; public string Name { get { return name; } set { name = value; } } public void 进攻() { Console.WriteLine("外籍中锋 {0} 进攻",name); } public void 防守() { Console.WriteLine("外籍中锋 {0} 防守",name); } } #endregion #region- 翻译者(适配器) class Translator : Player { private ForeignCenter wjzf = new ForeignCenter(); public Translator(string name) : base(name) { wjzf.Name = name; } public override void Attack() { wjzf.进攻(); } public override void Defense() { wjzf.防守(); } } #endregion}
结果:
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 适配器及适配器模式
- 适配器及适配器模式
- 适配器模式(类适配器)
- 适配器模式(默认适配器)
- 适配器模式(对象适配器)
- 适配器模式-类适配器
- 适配器模式-对象适配器
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- 适配器模式
- Euclid算法求最大公约数--java实现
- Cipher Message
- linux 下安装xampp
- 来达内学习第二天
- java创建和解析xml四中方法
- 适配器模式
- poj 3624做题笔记
- FMS
- ZOJ 3490 String Successor
- [进程管理] Linux中Load average的理解
- 构造函数失败
- 软件体系结构
- Java Basic
- nodejs+Express实现Restful的web应用