[Go] Golang中的面向对象

半城伤御伤魂 提交于 2019-12-05 20:39:25

struct interface 就可以实现面向对象中的继承,封装,多态

继承的演示:
Tsh类型继承People类型,并且使用People类型的方法

多态的演示
Tsh类型实现了接口Student,实现了接口定义的方法

完整代码:

package main

import "fmt"

//父类型
type People struct {
}

func (p *People) echo() {
    fmt.Println("taoshihan")
}

//接口
type Student interface {
    Do()
}

//子类型,实现了接口,继承了父类型
type Tsh struct {
    People
}

func (t Tsh) Do() {
    fmt.Println("taoshihan do")
}
func main() {
    //继承的演示
    t := Tsh{People{}}
    t.echo()
    //多态的演示
    var student Student
    student = t
    student.Do()
}

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!