读书人

golang-利用Embedding跟interface实现

发布时间: 2012-08-28 12:37:01 作者: rapoo

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

?

?

读书人网 >编程

热点推荐