Go - 33 Go 面向对象编程-多态及体现
基本介绍
变量(实例)具有多种形态。面向对象的第三大特征,在Go语言中,多态特征是通过接口实现的。可以按照统一的接口来调用不同的实现。这时接口变量就呈现不同的形态。
接口体现多态两种形式
1.多态参数
在前面的Usb接口案例,Usb usb, 即可以接收手机变量,又可以接收相机变量,就体现了Usb接口 多态
2.多态数组
给Usb数组中,存放 Phone结构体 和 Cammera 结构体变量,Phone还有一个特有的方法Call(),请遍历Usb数组,如果是Phone变量,除了调用Usb接口声明的方法外,还需要调用Phone特有方法 call(后面的类型断言会具体实现及原理)。
数组里只能放一种数据类型,但是因为多态的特性,所以可以放置 Phone和Cammera两种不同的结构体(多态数组);