2.4 面向物件4:介面與實現
阿新 • • 發佈:2018-12-08
@介面與實現
- 介面定義了一組共性
- 這些共性體現為介面的抽象方法
- 抽象方法就是隻有方法定義,沒有方法實現的方法
- 接口裡有且只有抽象方法
- 介面可以有多種不同的具體子類實現
- 介面的作用是為子類實現提供統一的API
定義介面
//定義【USB裝置】介面
//介面:只包含抽象方法
type USBDevice interface {
/*定義了三個【抽象方法】:定義而不做實現*/
//連線電腦,返回值代表連線是否成功
Connect() bool
//讀取資料,讀到的資料
ReadData() []byte
//斷開連線,返回值代表連線是否成功
Disconnct() bool
}
介面實現
//USB裝置的優盤實現
type Upan struct {
//定義容量
storage int
}
/*優盤實現USBDevice介面中定義的全部抽象方法=實現了USBDevice介面*/
func (up *Upan)Connect() bool {
fmt.Println("優盤連線成功")
return true
}
func (up *Upan)ReadData() []byte {
fmt.Println("優盤連線成功")
return []byte("東哥擼無碼藝術.avi")
}
func (up *Upan)Disconnct() bool {
fmt.Println("優盤已斷開連線")
return true
}
用子類實現去賦值父類物件
func main() {
//定義介面物件
var usbDevice USBDevice
//用具體實現類去為介面賦值
up := Upan{8 * 1024 * 1024 * 1024}
usbDevice = &up
//操作usb裝置
usbDevice.Connect()
fmt.Println(usbDevice.ReadData())
usbDevice.Disconnct()
}