当前位置: 首页 > news >正文

go语言(十一)----面向对象继承

一、面向对象继承

  1. 写一个父类
package mainimport "fmt"type Human struct {name stringsex string
}func (this *Human) Eat() {fmt.Println("Human.Eat()...")
}func (this *Human) Walk() {fmt.Println("Human.Walk()...")
}func main() {h := Human{"zhang3","femal"}h.Eat()h.Walk()}

在这里插入图片描述

  1. 子类继承 父类
type SuperMan struct {Human //superman类继承了human类的方法level int
}
  1. 子类的新方法
//重定义父类的方法Eat()
func (this *SuperMan) Eat() {fmt.Println("SuperMan.Eat()...")
}//子类的新方法
func (this *SuperMan) Fly() {fmt.Println("Superman.Fly()...")
}
  1. 定义子类
    两种方法:
    第一种:
s :=SuperMan{Human{"li4","female"},88}

第二种:

var s SuperMans.name = "lis4"s.sex = "female"s.level = 88
  1. 子类继承父类的使用
package mainimport "fmt"type Human struct {name stringsex string
}func (this *Human) Eat() {fmt.Println("Human.Eat()...")
}func (this *Human) Walk() {fmt.Println("Human.Walk()...")
}
//重定义父类的方法Eat()
func (this *SuperMan) Eat() {fmt.Println("SuperMan.Eat()...")
}//子类的新方法
func (this *SuperMan) Fly() {fmt.Println("Superman.Fly()...")
}type SuperMan struct {Human //superman类继承了human类的方法level int
}func (this *SuperMan) Print()  {fmt.Println("name = ",this.name)fmt.Println("sex = ",this.sex)fmt.Println("level = ",this.level)}func main() {h := Human{"zhang3","femal"}h.Eat()h.Walk()//定义一个子类对象//s :=SuperMan{Human{"li4","female"},88}var s SuperMans.name = "lis4"s.sex = "female"s.level = 88s.Walk() //父类的方法s.Eat() //子类的方法s.Fly() //子类的方法//打印出来s.Print()}

在这里插入图片描述

http://www.lryc.cn/news/286157.html

相关文章:

  • 一款自动化提权工具
  • 【Qt】最详细教程,如何从零配置Qt Android安卓环境
  • spring与spring boot的区别
  • http网络编程——在ue5中实现文件传输功能
  • JVM之java内存区域[2](堆、方法区、直接内存)
  • k8s-kubectl常用命令
  • 如何在Docker上运行Redis
  • 【深度学习:集中偏差】减少计算机视觉数据集中偏差的 5 种方法
  • java数据结构与算法刷题-----LeetCode667. 优美的排列 II
  • win10 20h2 defender添加排除项失败怎么回事 Window Defender添加不了排除项如何处理
  • mysql生成最近24小时整点时间临时表
  • 基于PHP反序列化练习
  • ITSS、ITIL、ISO20000:哪个更适合你?
  • Linux配置yum源以及基本yum指令
  • 【AI视野·今日Robot 机器人论文速览 第七十五期】Thu, 11 Jan 2024
  • 阿里云ECS(CentOS镜像)安装docker
  • 服务器工作环境要求
  • 大数据开发之Spark(入门)
  • 【GoLang入门教程】Go语言工程结构详述
  • FPGA之分布式RAM(2)
  • 纯c实现栈和队列 数据结构大全
  • 测试开发基础 | 计算机网络篇(二):物理层与数据链路层
  • 【深度学习】BasicSR训练过程记录,如何使用BasicSR训练GAN
  • 喜讯 | 华院计算摘得“2023大数据产业年度创新技术突破”奖
  • stm32高级定时器死区时间
  • Python项目——久坐提醒定时器(PySide6)编写
  • Linux,常见的强制退出/结束命令(ctr+c/ctr+d/:q/exit)
  • 检查一个Java List是否包含某个JavaBean对象的特定值,并且获取这个值
  • 浮点数详解
  • LED流水灯