面向对象编程(一):类的定义、初始化和成员方法
1 类的定义和初始化
Go 语言的面向对象编程没有 class
、 extends
、implements
之类的关键字和相应的概念,而是借助结构体来实现类的声明,如下是定义一个学生类的方法:
type Student struct{
id uint
name string
male bool
score float64
}
类名为 Student
,并且包含了 id
、name
、male
、score
这四个属性。
相应的,Go 语言中也不支持构造函数、析构函数,需要我们自定义形如 Newxxx
这样的全局函数(首字母大写)作为类的初始化函数方法:
// 初始化方法(全量定义)
func NewStudent(id uint, name string, male bool, score float64) *Student {
return &Student{
id, name, male, score}
}
在如上函数中,通过传入 NewStudent
方法的字段对 Student
类进行初始化,并返回一个指向该类的指针。此外,还能够初始化指定字段,如下所示:
// 初始化方法(部分定义)
func NewStudentPart(id uint, name string,