您的位置:首页 > 编程语言 > Java开发

从Java到Go面向对象--多态

2017-07-03 00:00 141 查看

Go语言中的多态

在Java中我们通过继承或接口可以实现面向对象的多态特性,实现父子之间的向上向下转换。那么Go中怎么搞呢?之前我们看过了Go中继承的实现,那只是普通的组合方式,无法实现多态特性,那么我们接下来看一下Go中怎么实现多态。

定义接口

type Light interface {
on()
off()
}

实现接口

type LEDLight struct {
}

func (led LEDLight) on() {
fmt.Println("led light on.")
}

func (led LEDLight) off() {
fmt.Println("led light off.")
}

type MihongLight struct {
}

func (led MihongLight) on() {
fmt.Println("Mihong light on.")
}

func (led MihongLight) off() {
fmt.Println("Mihong light off.")
}

实例化对象和多态使用

var light = LEDLight{}
light.on()
light.off()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Go 面向对象