zoukankan      html  css  js  c++  java
  • 多态函数

    // 多态
    // 示例
    package main
    
    import (
    	"fmt"
    )
    type notifier interface {
        notify()
    }
    type user struct{
        name string
        email string
    }
    func (u *user) notify(){
        fmt.Printf("Sending user email to %s<%s>
    ", u.name, u.email)
    }
    type admin struct{
        name string
        email string
    }
    func (a *admin) notify(){
        fmt.Printf("Sending admin email to %s<%s>
    ", a.name, a.email)
    }
    // 多态函数,不同实例类型调用相同方法返回不同实例的结果
    func sendNotification(n notifier){
        n.notify()
    }
    
    func main(){
        bill := user{"Bill", "bill@email.com"}
        sendNotification(&bill) // 传地址
        
        lisa := admin{"Lisa", "lisa@email.com"}
        sendNotification(&lisa) // 传地址
    }
    

    -------------------------------------------

    个性签名:代码过万,键盘敲烂!!!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    TCP/IP三次握手四次挥手
    注解(JDK1.5之后)
    枚举(JDK1.5之后)
    局部内部类
    非静态内部类
    静态内部类
    匿名内部类
    接口
    根父类:java.lang.Object
    native关键字
  • 原文地址:https://www.cnblogs.com/weiweivip666/p/15480707.html
Copyright © 2011-2022 走看看