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

网站做海康直播成都今天宣布的最新疫情消息

网站做海康直播,成都今天宣布的最新疫情消息,七星彩的网站怎么做的,租空间做网站需要多少钱go语言面向对象编程思想 面向对象编程离不开封装、继承、多态三个特性,go语言与其他c、java不太一样,没有类的概念,面向对象的实现也有些区别,下面分别描述。 go语言封装 结构体中字段如欲对外隐藏,首字母小写&…

go语言面向对象编程思想

面向对象编程离不开封装、继承、多态三个特性,go语言与其他c++、java不太一样,没有类的概念,面向对象的实现也有些区别,下面分别描述。

go语言封装

  1. 结构体中字段如欲对外隐藏,首字母小写,对其的操作则通过结构体绑定的Set和Get函数进行;
  2. 结构体所在的包提供一个首字母大写的工厂模式函数用来创建对应的结构体对象,类似于构造函数;
  3. 实际上go里面的封装,已经融入到包、方法、函数里面了

go语言继承

在go语言中,如果一个结构体中嵌套了另一个匿名结构体对象,那么这个结构体可以直接访问这个匿名结构体的字段和方法(无论大小写),从而实现继承的特性。
例:

type Goods {Name stringPrice int
}
type Book struct {// 这里直接包含Goods结构体,那么Book的对象可直接访问Name和Price字段GoodsWriter string
}

在使用时,我们可以显式地调用Goods从而调用Goods相关的字段或方法,也可以直接隐式地调用,省略Goods:

mathbook := Book{}
mathbook.Goods.Name = "math"
mathbook.Goods.SetPrice(15) // 假设SetPrice是Goods绑定的方法
mathbook.Price = 20 // 这里可省略Goods
mathbook.Writer = "lzs"

当我们省略写法调用基类型的字段或方法时,编译器首先在当前类型中找有没有对应的字段或方法,有就调用,没有就看其嵌套的结构体有没有。若都找不到,则报错。若有多层嵌套,则会依次往上找。

必须显式地调用匿名结构体的场景:

  • 如果当前结构体有方法或字段与基类型的方法或字段相同,也是遵从就近原则,但如果这种场景我们就是想去调用基类型的方法或字段,那么就必须显式地调用匿名结构体名,如上面的Goods必须显式地调用;
  • 如果当前结构体嵌套了多个匿名结构体,且这些匿名结构体有共同的字段或方法,我们就需要通过显式调用来指定我们想要操作的具体字段或方法是属于哪一个结构体的;

在创建结构体变量时,也可以同时指定结构体的字段值,写法如下:

// 写法有顺序要求
mathbook := Book{Goods{"math", 15}}
// 或以下写法,无顺序要求
mathbook := Book{Name : "math",Price : 15,}

有多个匿名结构体依次写即可。

一些实际使用的细节:

  • 在嵌套匿名结构体时,也可以嵌套匿名结构体的指针,写法如下
type computer struct {*Goods
}
  • 除了结构体类型外,基本数据类型如int也可以写成匿名的方式,这时调用时需要包含类型:
type computer struct {*Goodsint
}func main() {huashuo := computer{}huashuo.int = 3000
}

匿名数据类型在同一个结构体中,只能有一个

  • 如果同时嵌套多个匿名结构体,也就是go语言中的多重继承的概念,通常为了调用的简洁性,go里面尽量避免多重继承。

多态

由于多态涉及到接口的概念,我们在下一个篇章来讲解

http://www.shuangfujiaoyu.com/news/50902.html

相关文章:

  • 工信部备案网站查询营销软件商城
  • 外贸手机网站建设整合营销沟通
  • 帮人做网站一个多少钱网站关键词优化系统
  • 搭建免费个人网站2022新手如何涨1000粉
  • 优酷网站谁做的百度关键词点击
  • 爱名网做网站教程深圳搜索seo优化排名
  • 政府门户网站建设管理工作视频号直播推广二维码
  • 手机代理ip免费网址企业怎么做好网站优化
  • 佛山网站推广学新媒体运营最好的培训学校
  • 孝义网站建设电子制作网站
  • 仿wordpress长沙seo霜天
  • 电子商务网站建设与实例google chrome官网
  • 做金融网站需要什么营业执照电脑培训学校排名
  • 网站排名易下拉系统百度网盘手机app下载安装
  • 大型外包公司有哪些西安关键词排名优化
  • 做百度还是阿里网站好汕头网站建设方案外包
  • 校园网站系统建设需求企业自助建站
  • 十大不充钱的手游香港seo公司
  • 深圳政府门户网站设计亮点网站正能量免费推广软件
  • 定制型网站一般价格seo搜索排名优化是什么意思
  • 建站专业团队一站式服务新疆今日头条新闻
  • jsp网站怎么运行seo优化技术
  • 长沙建设信息中心网站百度搜索如何去广告
  • 做实体上什么网站找项目2023年时政热点事件
  • 网站建设考试样题及答案会计培训班需要学多长时间
  • 大连网站建设1000元高粱seo博客
  • 做网站建设分哪些类型网站建设平台官网
  • 中国建设通网站南京seo排名优化
  • 网站开发合同缴纳印花税吗李勇seo的博客
  • 歌曲伴奏在线制作网站如何推广一个网站