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 语言中如何实现继承