美文网首页
Go语言之继承中的方法

Go语言之继承中的方法

作者: 测试探索 | 来源:发表于2020-06-06 16:23 被阅读0次
package main

import (
    "fmt"

)

func main(){

//  1.创建Person类型
    p1 := Person{name:"王二狗",age:30}
    fmt.Println(p1.name,p1.age) // 父类对象,访问父类的字段属性--王二狗 30
    p1.eat()  //父类的方法,吃窝窝头


    //   2.创建Student类型
    s1 := Student{Person:Person{name:"ruby",age:18},school:"第三中学"}
    fmt.Println(s1.name,s1.age) //子类对象,可以直接访问父类的字段(其实就是提升字段)--ruby 18
    fmt.Println(s1.school) //子类对象,访问自己新增的字段属性--第三中学

    s1.eat() //子类对象,访问父类的方法--父类的方法,吃窝窝头,没有重写前是该结果,重写后是下面的结果
    s1.study() //子类对象,访问自己新增的方法--子类新增的方法,学生学习啦。。。
    s1.eat()  //如果存在方法的重写,子类对象访问重写的方法--子类重写的方法:吃炸鸡和啤酒。。。
}

//1.定义一个“父类”

type Person struct {
    name string
    age int
}

//2.定义一个“子类”
type Student struct {
    Person //结构体嵌套,模拟继承性
    school string
}

//3.方法
func (p Person) eat(){
    fmt.Println("父类的方法,吃窝窝头")
}

func (s Student) study(){
    fmt.Println("子类新增的方法,学生学习啦。。。")
}

func (s Student) eat(){
    fmt.Println("子类重写的方法:吃炸鸡和啤酒。。。")
}
//结果
王二狗 30
父类的方法,吃窝窝头
ruby 18
第三中学
子类重写的方法:吃炸鸡和啤酒。。。
子类新增的方法,学生学习啦。。。
子类重写的方法:吃炸鸡和啤酒。。。
image.png

相关文章

  • Go语言之继承中的方法

  • 第04天(面对对象编程)_03

    11_方法的继承.go 12_方法的重写.go 13_方法值.go 14_方法表达式.go 15_接口的定义和实现.go

  • Go语言 重写方法

    类似于Java中的继承,子类继承并重写父类的方法,Go语言也提供了这样的实现。Go语言中可以创建一个或者多个类型作...

  • Go语言之方法

    一. 方法 1.1 概述 带有接受者的函数,我们称为方法。本质上一个方法就是一个特殊类型关联的函数。go语言中就可...

  • Go语言之方法

    方法的概念 Go语言中同时有函数和方法,一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一...

  • Go基础编程---面向对象

    面向对象 Go中没有发封装、继承、多态,但是可以通过方法、匿名字段、接口实现,Go中偏向于面向接口编程 匿名字段(...

  • Go中如何继承

    [TOC]在这里简单分享一下在Go中如何实现继承。 1. 简单的组合 说到继承我们都知道,在Go中没有extend...

  • <>

    结构体及其使用方法 结构体的定义 Go语言用嵌入式字段实现了继承吗?? GO语言不存在所谓的继承,只有组合。组合和...

  • go语言聊天室实现(八)注册逻辑的具体操作

    在这里首先要引入一个概念,go语言的继承。在PHP中,我们如果想用一个类去继承父类,直接用extend方法就可以继...

  • 方法

    方法 继承中的方法

网友评论

      本文标题:Go语言之继承中的方法

      本文链接:https://www.haomeiwen.com/subject/onyizhtx.html