package common
//基类接口
type IBase interface {
Init() //构造
Destroy() //消毁
}
package common
import (
"fmt"
)
//游戏公共业务
type GameCommon struct {
//初始化游戏公共业务信息
}
func New() IBase {
return &GameCommon{} //返回实现化接口的对象
}
//构造
func (common *GameCommon) Init() {
fmt.Println("构造游戏公共业务")
}
//消毁
func (common *GameCommon) Destroy() {
fmt.Println("消毁游戏公共业务")
}
gameCommon := common.GameCommon{} //实现了接口的对象
var ibase common.IBase //接口对象
ibase = &gameCommon //接口与实例交接
ibase.Init() //通过调用接口方法映射到实例方法
_common := common.New() //实例化对象
_common.Destroy() //通过调用接口方法映射到实例方法