Golang 面向对象(封装、继承、多态)_go语言结构体 ,封装,多态,继承-优快云博客
package main
type Person struct {
name string
age int
}
func (p *Person) SetName(name string) {
p.name = name
}
func (p *Person) SetAge(age int) {
p.age = age
}
func (p *Person) GetName() string{
return p.name
}
func (p *Person) GetAge() int {
return p.age
}
type Person struct {
name string
age int
}
func (p *Person) Eat() {
fmt.println("Person Eat")
}
func (p *Person) Walk() {
fmt.Println("Person Walk")
}
type Student struct {
Person //组合Person,注意首字母大写,否则无法继承属性和方法
school string
}
func (s *Student) study() {
fmt.Println(s.name, "study") //调用了name,这里的name就是继承自person结构体的
}
//重写方法,会覆盖Person中的walk方法
func (s *Student) Walk() {
fmt.Println(s.name, "walk")
}
1898

被折叠的 条评论
为什么被折叠?



