当前位置: 首页 > news >正文

做网站的是什么软件上海 网站开发 工作室

做网站的是什么软件,上海 网站开发 工作室,WordPress怎么改文章颜色,相册网站建设目的文章目录 1. 概念1.1 角色1.2 应用场景1.2 类图 2. 代码示例2.1 设计2.2 代码2.3 示例类图 1. 概念 定义一个适配器,帮助原本不能实现接口的类“实现”该接口 1.1 角色 目标(Target):客户端调用的目标接口 被适配者&#xff08…

文章目录

  • 1. 概念
    • 1.1 角色
    • 1.2 应用场景
    • 1.2 类图
  • 2. 代码示例
    • 2.1 设计
    • 2.2 代码
    • 2.3 示例类图

1. 概念

定义一个适配器,帮助原本不能实现接口的类“实现”该接口

1.1 角色

目标(Target):客户端调用的目标接口
被适配者(Adaptee):已经存在且运行良好的类或对象,但它不能实现Taget接口。
适配器(Adapter):继承或管理被适配者,且可以实现目标接口。

1.2 应用场景

  • 背景
    • 已经有一个目标接口供客户端调用
    • 根据需求新增一个类(该类不能实现目标接口)
    • 修改目标接口开销会很大
  • 解决方法
    • 我们新增一个类——适配器
    • 适配器继承新增类,且可以实现目标接口
  • 结果
    • 客户端用适配器处理新增类的实例,得到的实例可以实现目标接口。

1.2 类图

«interface»
Target
+Service()
Class
+Service()
Adapter
+*Adaptee:Adaptee
+Service()
Adaptee
+AnotherService()
Client

2. 代码示例

2.1 设计

  • 背景
    • client通过Bird接口可以获取鸟类实例的信息
    • 有一个Cat类,不能实现Bird接口
    • 但是需要client调用Bird接口来获取Cat实例的信息
  • 解决
    • 创建一个适配器CatAdapter
      • 它继承Cat类
      • 且实现Bird接口

2.2 代码

package mainimport "fmt"
//之前有一个Bird接口,他可以Get鸟类的信息
type Bird interface {Get()
}//比如这个鹦鹉类,实现了Bird接口
type Parrot struct {Name    stringFeather string
}func (parrot *Parrot) Get() {fmt.Printf("鹦鹉%q的颜色是:%q\n", parrot.Name, parrot.Feather)
}//业务需求,多了一个猫的类
type Cat struct {Name stringFur  string
}
//它只有Show方法,不能实现Bird接口
func (cat *Cat) Show() {fmt.Printf("猫咪%q的颜色是:%q\n", cat.Name, cat.Fur)
}//我们创建一个猫的解释器,他继承了猫类,同时又可以实现Bird接口
type CatAdapter struct {Cat *Cat
}func (catAdapter *CatAdapter) Get() {catAdapter.Cat.Show()
}//有一个客户端
type Client struct {
}
//它可以直接获取bird信息
func (client Client) GetBird(bird Bird) {bird.Get()
}func main() {//实例化一个叫polly的鹦鹉polly := &Parrot{Name:    "polly",Feather: "green",}//示例话一个叫tom的猫tom := &Cat{Name: "tom",Fur:  "black",}client := Client{}//客户端可以直接使用pollyclient.GetBird(polly)//客户端可以通过解释器使用tomtomAdapter := &CatAdapter{Cat: tom}client.GetBird(tomAdapter)
}

2.3 示例类图

«interface»
Bird
+Get()
Parrot
+String:Name
+String:Feather
CatAdapter
+*Cat:Cat
+Get()
Cat
+String:Name
+String:Fur
+Show()
Client
GetBird(bird Bird)

在这里插入图片描述

http://www.yayakq.cn/news/130563/

相关文章:

  • 做外贸有那些网站平台上海招聘网站建设
  • 深圳住房和建设局网站统一微信软文是什么意思
  • 南平建设企业网站建立平台网站要多久
  • 南部 网站 建设工程发布信息平台
  • 上海高品质网站建设公司网站过度优化首页被k
  • 网站开发应用短信设计制作小车一微课
  • 网上书城网站建设目的成都市广告制作公司
  • 网站怎么做伪静态iis7.0营销型网站建设的特色
  • 深圳一元网站建设公司网站 不稳定
  • 医院网站备案流程上海千家美装饰公司地址
  • 四川省建设工程质量安全协会网站建设标准网站
  • 珠海网站开发软件公司网站建设框架
  • 湖南微信网站公司简介西安seo优化培训机构
  • 人才网站建设经费用途软件开发专业属于哪个专业大类
  • 大良营销网站建设效果郑州建设安全管理协会网站
  • 青田网站建设国内设计的企业网站
  • 黄骅市属于邢台seo
  • 建设网站的企业费用网站建设网络公关
  • 资源库网站开发wordpress分类信息 模板
  • 南昌网站建设制作公司百度热词指数
  • 合肥城市建设网站新潮远网站建设
  • 北京怎样建网站保定 网站建设
  • 采购公告 校园网站建设网站开发实现总结
  • 韩国网站的风格o2o网站建设方案ppt
  • 大兴企业网站建设公司大宗商品交易平台解决方案
  • 北京网站搭建服务商软环境建设网站
  • 温州的网站设计合肥网络公司 网站建设
  • 做网站是域名怎么申请网上哪里有辅导高考生做难题的网站
  • 广东泰通建设有限公司网站做的比较好的网站有哪些
  • 视频教学网站cms网站页面尺寸