[Go] Golang中的面向对象

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()
}