美文网首页
14.Go语言·面向对象编程应用·接口(一)

14.Go语言·面向对象编程应用·接口(一)

作者: 一枼落知天下 | 来源:发表于2019-06-06 09:42 被阅读0次

    main.go

    // Go语言·面向对象编程应用·接口
    package main
    
    //  包的本质是创建不同的文件夹
    //  go的每一个文件都是属于一个包的
    //  go以包的形式管理项目和文件目录。
    //  import "包的路径"
    import (
        model "day23/model"
        _"fmt"
    )
    
    var content string = `
    ————————————————Go语言·面向对象编程应用————————————————————
    一、接口 interface
    `
    
    
    func main() {
        pc := &model.Computer{}
        phone := &model.Phone{}
        camera := &model.Camera{}
        pc.Working(phone)
        pc.Working(camera)
    }
    

    interface.go

    package model
    
    import (
        "fmt"
    )
    // 定义或声明一个接口
    type Usb interface {
        // 声明两个没有实现的方法
        Start()
        Stop()
    }
    
    // 手机
    type Phone struct {
        
    }
    // 让phone实现Usb接口的方法
    func (p *Phone) Start() {
        fmt.Println("手机开始工作咯...")
    }
    
    func (p *Phone) Stop() {
        fmt.Println("手机停止工作咯...")
    }
    
    
    // 相机
    type Camera struct {
        
    }
    // 让Camera实现Usb接口的方法
    func (c *Camera) Start() {
        fmt.Println("相机开始工作咯...")
    }
    
    func (c *Camera) Stop() {
        fmt.Println("相机停止工作咯...")
    }
    
    
    // 计算机
    type Computer struct {
        
    }
    
    // working方法,接收一个Usb接口类型变量
    // 实现Usb接口---》实现Usb接口声明的所有方法。
    func (c *Computer) Working(usb Usb) {
        // 通过usb接口变量来调用Start和Stop方法
        usb.Start()
        usb.Stop()
    }
    
    

    相关文章

      网友评论

          本文标题:14.Go语言·面向对象编程应用·接口(一)

          本文链接:https://www.haomeiwen.com/subject/qakyxctx.html