首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

golang-利用Embedding跟interface实现多态

2012-08-28 
golang-利用Embedding和interface实现多态go没有继承,但有个Embedding,这个东西有点类似于组合,写了个小例

golang-利用Embedding和interface实现多态

go没有继承,但有个Embedding,这个东西有点类似于组合,写了个小例子,实现多态的效果

?

?

?

package mainimport "fmt"type IMessage interface{Print()}type BaseMessage struct{msg string}func (message *BaseMessage) Print(){fmt.Println("baseMessage:msg",message.msg)}type SubMessage struct{BaseMessage}func main() {var message IMessagebaseMessage := new(BaseMessage)baseMessage.msg = "a"message = baseMessagemessage.Print()SubMessage := new(SubMessage)SubMessage.msg = "b"message = SubMessagemessage.Print()}

?

输出:

baseMessage:msg a

baseMessage:msg b

?

?

热点排行