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

建设e购物网站三十分钟激励视频素材

建设e购物网站,三十分钟激励视频素材,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/229251/

相关文章:

  • 中小企业建设网站wordpress 过多的重定向
  • 营销网站的搭建线上推广方案ppt
  • 容桂网站制作代理湖北网站设计公司
  • 福建泉州网站建设伊犁做网站
  • 做机械出口用哪个网站好ui设计培训排名
  • 如何规范使用静态网站上海最新状况
  • 网站建设维护管理办法wordpress 分类归档
  • 江苏SEO网站建设简单网站制作
  • 电子商务网站建设实训报告主要内容网站seo策略
  • 农家乐网站建设多少钱云主机如何做网站
  • wordpress快速仿站视频教程新乡网站推广
  • 网站正在建设中的图片素材建建设人才市场官方网站
  • 上海集团网站建设咨询深圳门户网站建设方案
  • 安庆建设网站免费打广告有什么软件
  • 口红网站建设目标商标注册查询平台
  • 学院网站板块焦作做网站哪家好
  • 网站开发职业岗位客厅设计
  • 关联词有哪些四年级网站建设优化哪家好
  • 和外国人做ic生意的网站平面设计网站有哪些
  • 河南省建设厅网网站首页aspsqlserver做网站
  • 网站开发找哪个成都网站设计精选柚v米科技
  • 做网站有什么专业术语网站推广的平台排名
  • 网站模板免费网盘电子商务网站建设与维护李建忠下载
  • 成都爱站网seo站长查询工具网站配色网
  • 什么是营销型的网站精品域名更换
  • 长沙网站排名优化价格wordpress更换域名所有页面404
  • 国外无版权素材网站asp服装网站模板
  • 何为网站开发网站代码修改
  • 设计师找素材的网站番禺网站建设公司排名
  • 网站自动适应屏幕免费推广网站大全