Go语言的接口和实现类初探(二)

来源:互联网 发布:三星s4拍照软件 编辑:程序博客网 时间:2024/04/20 10:52

扩展

上一篇讲了实现一个接口里的全部方法。

如果实现多个接口,也是很简单的,同理把他的方法实现了就行。

背景:

有一个动物的接口,他有吃和跑的动作,突然来一只鸟的动物,呀,它还会飞。

如果我们修改接口动物加上飞的动作,这样会让狗也要飞了。所以,我们把接口的方法都单独另出来。

package mainimport ("fmt")//飞的接口type IFly interface {Fly()}//吃的接口type IEat interface {Eat()}//跑的接口type IRun interface {Run()}//狗的实现类type Dog struct {name string}func (dog *Dog) Eat() {fmt.Println(dog.name + " eat")}func (dog *Dog) Run() {fmt.Println(dog.name + " run")}//鸟的实现类type Bird struct {name string}func (bird *Bird) Fly() {fmt.Println(bird.name + " fly")}func (bird *Bird) Eat() {fmt.Println(bird.name + " eat")}func main() {var eat IEat = &Dog{"Dog"}eat.Eat()eat = &Bird{"Bird"}eat.Eat()var run IRun = &Dog{"Dog"}run.Run()var fly IFly = &Bird{"Bird"}fly.Fly()}
运行结果



总结:

golang实现接口只要实现类实现该接口里的全部方法,我们称该实现类实现该接口。



0 0
原创粉丝点击