Golang中面向对象的实现

Golang在面向对象方面与其他语言的区别

Golang中没有类(class)的概念,但是有结构(struct)的概念。在其他语言(比如C++)中,属性是与方法绑定在一起的,而在go中属性与方法是松耦合的。

一个简单的结构:

type Student struct {
    name string
    id string
    score int
}

方法

方法写在结构的外面,比如我们要为Student对象添加getter和setter,我们应该在Student结构外添加如下代码:

func (self *Student) SetName(name string) {
    self.name = name
}

func (self *Student) SetId(id string) {
    self.id = id
}

func (self *Student) SetScore(score int) {
    self.score = score
}

func (self *Student) Name() string {
    return self.name
}

func (self *Student) Id() string {
    return self.id
}

func (self *Student) Score() int {
    return self.score
}

继承

继承是通过在结构里嵌入其他结构来实现对其他结构的继承的。比如以下代码就是Car继承了Object,拥有了Object中定义的字段:

p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值