zoukankan      html  css  js  c++  java
  • Go之继承的实现

    go的继承是使用匿名字段来实现的

    package util
    
    //----------------Person----------------
    type Person struct {
    	Name string
    	Age  int
    	Sex  string
    }
    
    
    //--------------------------------
    //----------------Boy----------------
    type Boy struct {
    	Person
    	X string
    }
    
    
    //--------------------------------
    //----------------Girl----------------
    type Girl struct {
    	Person
    	Y string
    }
    
    //--------------------------------

    //匿名字段可以实现类似继承的效果
    // boy := util.Boy{util.Person{"Eric", 19, "boy"}, "1"}
    // girl := util.Girl{util.Person{"Jessica", 19, "girl"}, "2"}
    // fmt.Println(boy)
    // fmt.Println(girl)

      方法的重写override通过在子类中重新定义同名函数来实现,reciever接收的是子类的实例

    package util
    
    //----------------Person----------------
    type Person struct {
    	Name string
    	Age  int
    	Sex  string
    }
    
    func (self *Person) Speak() string {
    	return "I am a person"
    }
    
    //--------------------------------
    //----------------Boy----------------
    type Boy struct {
    	Person
    	X string
    }
    
    func (self *Boy) Speak() string {
    	return "I am a Boy"
    }
    
    //--------------------------------
    //----------------Girl----------------
    type Girl struct {
    	Person
    	Y string
    }
    
    func (self *Girl) Speak() string {
    	return "I am a Girl"
    }
    
    //--------------------------------

    // 方法重写的实现override
    // boy := util.Boy{util.Person{"Eric", 19, "boy"}, "1"}
    // fmt.Println(boy.Speak())
    // girl := util.Girl{util.Person{"Jessica", 19, "girl"}, "2"}
    // fmt.Println(girl.Speak())

      

  • 相关阅读:
    Java设计模式——单例模式
    关于 "static" 关键字的那点事
    安卓 修改系统时间
    android sdk 5.0下载步骤
    Android开发中调用系统窗口的方法
    Eclipse 导入已有工程时.classpath和.project文件拒绝访 ...
    Android开发错误总结
    CursorIndexOutOfBoundsException
    html移动端适配方案rem
    pc端和移动端的viewport 以及 像素的含义
  • 原文地址:https://www.cnblogs.com/anbylau2130/p/4864545.html
Copyright © 2011-2022 走看看