Go语言-多态
Go语言中没有类,我们可以使用结构体作为对象,来绑定对应的方法。而接口是功能的抽象,是方法的集合。
我们来实现这样一个例子:
- 实现猫和狗两个对象,并且他们都有动作:叫,但叫声不同。再实现一个对象鸟,他除了叫,还会飞。
下面是基于Go语言,实现题目要求的代码:
1 | package main |
在上述代码中,定义了一个Animal接口和三个结构体Cat、Dog、Bird分别实现了这个接口。其中,Cat和Dog只能叫,而Bird除了叫外还可以飞行。在main函数中创建相应的对象并调用相应的方法。
运行上述代码,输出如下:
1 | 喵喵喵 |
在这段代码中,我们使用了接口的多态特性,通过定义Animal接口,实现了不同类型的对象之间的通用性,并且在Bird中新增了Fly() 方法,符合面向对象的开放封闭原则。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lei Qi's Blog!
评论