zoukankan      html  css  js  c++  java
  • golang interface

    package main
    import (
        "fmt"
    )
    
    //声明/定义一个接口
    type Usb interface {
        //声明了两个没有实现的方法
        Start() 
        Stop()
    }
    
    
    //声明/定义一个接口
    type Usb2 interface {
        //声明了两个没有实现的方法
        Start() 
        Stop()
        Test()
    }
    
    
    
    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接口,就是指实现了 Usb接口声明所有方法)
    func (c Computer) Working(usb Usb) {
    
        //通过usb接口变量来调用Start和Stop方法
        usb.Start()
        usb.Stop()
    }
    
    func main() {
    
        //测试
        //先创建结构体变量
        computer := Computer{}
        phone := Phone{}
        camera := Camera{}
    
        //关键点
        computer.Working(phone)
        computer.Working(camera) //
    }

     

     

    package main
    
    import "fmt"
    type Ainterface interface {
    	Say()
    }
    
    type Binterface interface {
    	Hello()
    }
    
    type Monster struct {
    
    }
    
    func (m Monster) Hello() {
    	fmt.Println("hello ()")
    }
    
    func (m Monster) Say() {
    	fmt.Println("Say ()")
    }
    
    
    
    func main()  {
    	var monster Monster
    	var a Ainterface = monster
    	var b Binterface = monster
    	a.Say()
    	b.Hello()
    
    }
    

      

     

     

  • 相关阅读:
    Oracle 12C 在 Oracle Linux 6.5 64Bit 安装手册
    OWI之db file sequential read
    OWI之db file scattered read
    Linux监控脚本
    Java中的空值判断
    Java中的java.math.BigInteger
    Java中用正则表达式找出数字
    Java中的StringBuffer
    JAVA String.format 方法使用介绍
    Java中对整数格式化
  • 原文地址:https://www.cnblogs.com/sunlong88/p/11180555.html
Copyright © 2011-2022 走看看