适配器模式——设计模式
package main
import (
"fmt"
)
// TypeC接口
type TypeC interface {
ChargeWithTypeC(*Usb)
}
// Usb接口
type Usb interface {
ChargeWithUsb()
}
// 新电脑类型
type NewComputer struct {
}
func (np *NewComputer) ChargeWithTypeC() {
fmt.Println("TypeC")
}
// 现有的usb类型
type Usbtruct struct {
}
func (tcs *Usbtruct) ChargeWithUsb() {
}
// 适配器
type TypeCToUsbAdaptar struct {
usbOjb *Usbtruct
}
func (typecAdaptar *TypeCToUsbAdaptar) ChargeWithUsb() {
typecAdaptar.usbOjb.ChargeWithUsb()
fmt.Println("USB Adapter")
}
func main() {
var n int
fmt.Scan(&n)
var usbObj = new(Usbtruct)
var newComputer = new(NewComputer)
var typeCToUsbAdaptar = new(TypeCToUsbAdaptar)
typeCToUsbAdaptar.usbOjb = usbObj
for n > 0 {
var t int
fmt.Scan(&t)
if t == 1 {
newComputer.ChargeWithTypeC()
} else {
typeCToUsbAdaptar.ChargeWithUsb()
}
n--
}
}
原文地址:https://blog.csdn.net/qq_51134950/article/details/144335223
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!