golang 实现多态

package main

import "fmt"

//实现多态

//定义接口实现多态

type annimal interface{
speaker() string
}

//使用一个方法统一调用

func letAnnimalSay(a annimal){
s := a.speaker()
fmt.Println(s)

}

type Dog struct{

}

type Cat struct{

}

func (d Dog) speaker() string{//返回值与接口一致
return "dog-speaker"
}
func (c Cat) speaker() string{
return "cat-speaker"
}

func main(){
d := Dog{}
c := Cat{}
letAnnimalSay(d)
letAnnimalSay(c)
}

posted @ 2024-07-04 11:25  北京小小鸟  阅读(7)  评论(0)    收藏  举报