• 首页
  • go
  • go 语言中如何实现继承

go 语言中如何实现继承


文章目录



回顾

一.之前说到了go中如何实现类 传送门
二.go中如何实现类的封装 传送门


go 语言中如何实现继承

package main

import (
    "fmt"
)

type people struct {
    name string
    age  int
}

func (p people) GetName() string {
    return p.name
}

type Student struct {
    people
    grade int
}

func (s Student) GetGrade() int {
    return s.grade
}

func main() {

    var s = Student{people{"zhangzhi", 35}, 3}

    fmt.Printf("student name is %s, grade is %d ,age is %d", s.GetName(), s.GetGrade(), s.age)

}


上面我们定义个私有类 people,
指向类 people 定义了一个公有方法 GetName ,获取私有字段 name 的值.

然后定义一个公有类 Student ,继承 people
指向类 Student 定义了一个公有方法 GetGrade ,获取私有字段 grade 的值.

Student 继承 people 后,相当于也有了 GetName 的方法,直接在实例上使用
fmt.Printf("student name is %s, grade is %d ,age is %d", s.GetName(), s.GetGrade(), s.age)

出自:go 语言中如何实现继承

回到顶部