GO语言中面向对象的示例分析
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,这篇文章主要介绍GO语言中面向对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!GO语言中的面向对象其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这
千家信息网最后更新 2025年02月04日GO语言中面向对象的示例分析
这篇文章主要介绍GO语言中面向对象的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
GO语言中的面向对象
其实GO并不是一个纯面向对象编程语言。它没有提供类(class)这个关键字,只提供了结构体(struct)类型。
java或者C# 里面,结构体(struct)是不能有成员函数的。然而,Go语言中的结构体(struct)可以有"成员函数"。方法可以被添加到结构体中,类似于一个类的实现。
我个人觉得Go 语言在的面向对象,其实更简单,也更容易理解。
学过java或C# 的人应该都知道,面向对象的三个基本特征:封装、继承和多态。他们的定义我这里就不细说了。下面,就直接看看 go 语言下的面向对象是怎样实现的吧。
1. 封装特性
Golang区分公有属性和私有属性的机制就是方法或属性是否首字母大写,如果首字母大写的方法就是公有的,如果首字母小写的话就是私有的。
package main
import "fmt"
type Person struct {
name string
}
func (person *Person) setName(name string) {
person.name = name
}
func (person *Person) GetInfo() {
fmt.Println(person.name)
}
func main() {
p := Person{"zhangsan"}
p.setName("lisi")
p.GetInfo()
}
2. 继承特性
GO语言的继承方式采用的是匿名组合的方式:Woman 结构体中包含匿名字段Person,那么Person中的属性也就属于Woman对象。
package main
import "fmt"
type Person struct {
name string
}
type Woman struct {
Person
sex string
}
func main() {
woman := Woman{Person{"wangwu"}, "女"}
fmt.Println(woman.name)
fmt.Println(woman.sex)
}
3. 多态特性
package main
import "fmt"
type Eater interface {
Eat()
}
type Man struct {
}
type Woman struct {
}
func (man *Man) Eat() {
fmt.Println("Man Eat")
}
func (woman *Woman) Eat() {
fmt.Println("Woman Eat")
}
func main() {
var e Eater
woman := Woman{}
man := Man{}
e = &woman
e.Eat()
e = &man
e.Eat()
}
以上是"GO语言中面向对象的示例分析"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
对象
语言
属性
结构
字母
就是
方法
特性
示例
分析
多态
内容
函数
大写
方式
篇文章
C#
封装
私有
三个
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
百度凡科互联网科技有限公司
as400可以装什么数据库
存金额的数据库保证安全
网络技术安全工程师
数据库报错551
串口服务器能接几台设备
新时期做好网络安全的重要性
传入电子邮箱的服务器
护苗网络安全课堂第五季
英雄联盟分多少个服务器
上海软件开发招聘 花旗
网络安全法对违法行为的定义
国产服务器云平台管理
靖江自动网络技术价格表格
联网3d软件开发
计算机网络技术湖南高职排名
html 加载数据库
读取数据库数据存入数组
软件开发到一半对方要求终止开发
国家网络安全铁人三项
下载手机服务器
怎么组建一个网络安全实验室
宿迁网络安全工作推进会
c 查询数据库返回结果集
游戏服务器管理员打不开
腾讯云mysql服务器登陆
杭州游客数据库
互联网科技公司创业者
服务器 mem
软件开发的需求活动区主要任务