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.mzph.cn/news/637156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2P DMA发展全景分析解读

P2P DMA(Peer-to-Peer Direct Memory Access)技术是一种允许连接到PCIe总线上的不同设备之间直接进行数据交换的机制,无需通过CPU和系统内存中转。这一特性极大地提升了数据传输效率,减少了CPU负载,并在特定场景下优化…

Repository docker-ce-test is listed more than once in the configuration

这个消息表明,在你的 CentOS 系统的 YUM 软件源配置中,docker-ce-stable、docker-ce-stable-source 和 docker-ce-test 这几个仓库被列出了多次。这通常发生在 /etc/yum.repos.d/ 目录下的 YUM 配置文件中,相同的仓库被重复添加。 这种情况可…

VisualSVN Server实战

文章目录 一、实战概述二、实战步骤(一)下载VisualSVN Server(二)安装VisualSVN Server(三)使用VisualSVN Server1、新建仓库(1)新建Repository(2)选择仓库类…

go里面几个并发案例

1、用golang 写一个 消息队列,通过channel 多协程实现,一个写队列多个读队列 type MessageQueue struct {mu sync.Mutexqueue chan stringreaders []chan string }func NewMessageQueue() *MessageQueue {return &MessageQueue{queue: mak…

高速CAN总线 A C节点竞争总线时 电压分析(共ABC三个节点)

CAN 收发器放大图 ABC三节点框图如下图&#xff1a; 图① 简化过程同<<高速CAN总线 A节点发送 B节点接收 电压分析>> A C节点同时发送显性电平 如下图: 图② A C 节点同时发送显性电平, 则 4 个三极管全部导通, 假定三极管压降0.5V 则电路简化如下图.(导通分析参…

AI日报:扎克伯格瞄准AGI通用人工智能

文章目录 Meta瞄准通用人工智能领域Meta的目标Meta的产品 FAIR移动和装载H100扎克伯格对人工智能竞争对手的真实动机持怀疑态度Meta抛弃了元宇宙吗&#xff1f; Meta瞄准通用人工智能领域 Meta首席执行官马克扎克伯格&#xff08;Mark Zuckerberg&#xff09;在一份可能改变全…

抽象类和抽象方法

抽象方法&#xff1a;将共性的行为&#xff08;方法&#xff09;抽取到父类之后。由于每一个子类执行的内容是不一样&#xff0c;所以&#xff0c;在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。 抽象类&#xff1a;如果一个类中存在抽象方法&#xff0c;那么该类…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于混合博弈的配电网与多综合能源微网优化运行》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 这个标题涉及到配电网和多综合能源微网的优化运行&#xff0c;而优化的方法基于混合博弈理论。让我们逐步解读这个标题的关键部分&#xff1a; 基于混合…

mariadb数据库从入门到精通

mariadb数据库的安装以及安全初始化 mariadb数据库的安装以及安全初始化 mariadb数据库的安装以及安全初始化一、实验前提二、mariadb数据库的安装三、mariadb数据库安全初始化3.1 设定数据库基本的安全初始化3.2关闭对外开放端口 系列文章目录一、查看数据库二、进入库并且查看…

leetcode下一个更大的元素---1暴力---2单调栈

1.题目&#xff1a; nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 &#xff0c;下标从 0 开始计数&#xff0c;其中nums1 是 nums2 的子集。 对于每个 0 < i < nums1.l…

【Element UI详细介绍】

Element UI详细介绍 1. Element UI1.1 VueElementUI安装1.2 开发示例 2. 特点3. 组件分类4. 开始使用5. 注意事项 1. Element UI Element UI 是一个基于 Vue 2.0 的桌面端组件库&#xff0c;主要用于构建快速、简洁的用户界面&#xff0c;Element UI 提供一套丰富的组件和工具…

Java进阶之旅第五天

Java进阶之旅第五天 不可变集合 应用场景 1.如果某个数据不能被修改,把它拷贝到不可变集合中是个很好的实践2.当集合对象被不可信的库调用时,不可变形式是安全的3.不可变集合不能修改,只能进行查询 获取方式 在List,Set,Map接口中,都存在静态的of方法,可以获取一个不可变的…

蓝桥杯、编程考级、NOC、全国青少年信息素养大赛—scratch列表考点

1、小小情报员&#xff08;202309scratch四级24题&#xff09; 1.准备工作 &#xff08;1&#xff09;选择背景 Colorful City&#xff1b; &#xff08;2&#xff09;保留角色小猫&#xff0c;选择角色Ballerina。 2.功能实现 &#xff08;1&#xff09;角色小猫初始位置…

leetcode-2788按分隔符拆分字符串

题目链接 2788. 按分隔符拆分字符串 - 力扣&#xff08;LeetCode&#xff09; 解题思路 class Solution:def splitWordsBySeparator(self, words: List[str], separator: str) -> List[str]:result []for i in words:for j in i.split(separator):if j:result.append(j)…

C语言中的变量与scanf介绍(干货)

目录 前言 一、变量 1. 变量的创建 2. 变量的分类 3. 强制类型转换 二、scanf介绍 1. scanf的基本用法 2. scanf的返回值 3. scanf的占位符 4. 赋值忽略符 结语&#xff1a; 前言 我们在前面的文章中介绍了数据类型&#xff0c;以及printf函数的使用。 C语言中的数…

postgresql(Windows)初始化数据库教程

省流&#xff1a;本文章内容讲的是如何初始化postgresql数据库环境&#xff0c;前提是已经安装好postgresql数据库&#xff0c;安装步骤参考postgresql&#xff08;Windows&#xff09;安装教程 # 开始&#xff1a;安装postgresql-12.14-2-windows-x64.exe完成后进行初始化数据…

Vue待办事项(组件,模块化)

//html页面代码 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <style> * { padding: 0; margin: 0; }…

洋州影院购票系统:如何用Java、Spring Boot、Vue和MySQL实现现代化管理

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

用户ssh正确密码登陆均报错Permission denied, please try again.处理方法

一个树莓派镜像&#xff0c;启动后发现没有 sshd 功能&#xff0c;于是 启用 openssh&#xff0c;重新启动&#xff0c;又发现树莓派拒绝 ssh 连接请求。 我的一台树莓派IP是&#xff1a;192.168.59.133任何服务器使用任何用户ssh均报错&#xff0c;甚至连自己都不能ssh自己。 …

Day 25 | 回溯 216.组合总和III 、17.电话号码的字母组合

216.组合总和III 题目 文章讲解 视频讲解 思路&#xff1a; 以回溯函数做对称&#xff0c;上面做了什么操作&#xff0c;下面也是 class Solution {List<List<Integer>> result new ArrayList<>();LinkedList<Integer> path new LinkedList<&g…