Golang 面向对象(封装、继承、多态)
Golang 面向对象(封装、继承、多态)_go语言结构体 ,封装,多态,继承-CSDN博客
package maintype Person struct {name stringage 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 stringage 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")
}