而我使用学生方法的时候就可以Student stu = new Student();创建一个Student类的对象,就能调用其下的learn方法,如果这个学生类继承了Person类,你也可以调用Person类下的方法
而在Go语言中,把结构体struct充当类,通过创建一个该结构体类型的变量来创建对象stu1。也是通过stu1.属性的形式来调用该结构体下的属性,不同的是结构体是无法存方法的,因此使用写在结构体外的、绑定stu1的函数来描述student的方法,比如 :
type Student1 struct {
name string
age int
}
func (stu Student)Study{
fmt.Println("这是stu的方法")
}
通过这样的方式来实现面向对象的形式我还是第一次见到的,以至于我在听课之后理解了很久,并查阅了文档。
而Go的继承更加的简单方便,只需要 在结构体内写上需要继承的结构体名就ok了,比如:
type Person struct{
height int
weight int
}
type Student1 struct {
Person
name string
age int
}