2019-05-15

继承

/* 继承
一个结构体嵌到另一个结构体,称作组合
匿名和组合的区别
如果一个struct嵌套了另一个匿名结构体,那么这个结构可以直接访问匿名结构体的方法,从而实现继承
如果一个struct嵌套了另一个【有名】的结构体,那么这个模式叫做组合
如果一个struct嵌套了多个匿名结构体,那么这个结构可以直接访问多个匿名结构体的方法,从而实现多重继承 */

方法的继承

type Action interface {
    FlyAction()
    RunAction()    
}

type Bird struct { //鸟继承Action
    Action
}

type Dog stuct { //狗继承Action
    Action
}

func main(){
    bird := new(Bird)
    bird.RunAction()
}

成员的继承

type Person struct {
    Name string
    Age  int
}

type Man struct {
    Person
}

func main() {
    man := Man{Person{Name: "xiaoming"}}
    fmt.Printf("My Name is %s", man.Name)
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,841评论 2 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,138评论 1 32
  • 转自:http://www.csdn123.com/html/blogs/20130509/11141.htm自旋...
    aicken_wang阅读 1,234评论 0 2
  • 昨天早早的睡觉了,做为一条老狗,看来还是会感觉到累了。 继续王烁认知训练营 20学习:老狗这样学习新招 我相信成长...
    yichen大刀阅读 275评论 0 0
  • “ 药神,对于每个人的定义都不一样 ” 《我不是药神》是近期比较火的一部电影 这也是一个真实故事改编而成的 今天店...
    彦翔杂货店阅读 180评论 0 0