4-3 go继承

Posted paad

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-3 go继承相关的知识,希望对你有一定的参考价值。

package main

import "fmt"

type persion struct 
    name  string
    age   int
    sex   bool
    hobby []string


//继承的目的是为了发展,增加新的属性和方法,修改属性和方法。

func (p *persion) Eat() 
    fmt.Printf("%s爱饕餮\n", p.name)


func (p *persion) Drink() 
    fmt.Printf("%s爱喝酒\n", p.name)

func (p *persion) Love() 
    fmt.Print("%s是有感情的\n", p.name)


type coers struct 
    //持有一个父类说明-继承了persion
    persion
    langs []string


func (c *coers) Code() 
    fmt.Printf("%s会%v,在堆代码\n", c.name, c.langs)


type driver struct 
    persion
    jiazhangID string
    isDriving  bool


func (d *driver) Driver() 
    fmt.Printf("%s一言不合就开车", d.name)


//覆写persion类的drink函数。
func (d *driver) Drink() 
    if !d.isDriving
        fmt.Printf("%s正在喝酒\n",d.name)
    else 
        fmt.Println("司机一滴酒,亲人两行泪\n")
    


func main() 
    //使用new创建一个新的实例
    c := new(coers)
    c.name = "西门阿明"
    c.langs = []string"go", "汉语"
    c.Drink()
    c.Code()

    d := new(driver)
    d.name = "拍黄片的朴哥"
    d.isDriving = false
    d.Drink()
    d.isDriving = true
    d.Drink()

 

以上是关于4-3 go继承的主要内容,如果未能解决你的问题,请参考以下文章

Go 继承

go继承

Go 的继承

在 Go 中嵌入而不是继承

go语言method有没有继承顺序,实例探讨

#yyds干货盘点#愚公系列2022年08月 Go教学课程 032-结构体方法继承