Go语言中的OOP

Go 语言中的OOP

/*
面向对象OOP
Go语言的结构体嵌套:
	1.模拟继承性:  is a
		type A struct{
			field
		}
		type B struct{
			A  //匿名字段
		}
	2.模拟聚合关系 has a
		type C struct{
			field
		}
		type D struct{
			c C   //聚合关系

		}

 */
package main

import (
	"fmt"
)
//OOP
//
//模拟继承   : is a
/*
Person中的name和age字段为Student中的提升字段,
	即可以直接  s1.name = "张三",不用再s1.Person.name

*/
func main() {
	//1.创建父类的对象
	p1 := Person{
			name: "小明",
			age: 21,
		}

	fmt.Println(p1)
	fmt.Println(p1.name,p1.age)

	//2.创建子类的对象
	s1 := Student{
		Person:Person{
			name: "李四",
			age: 22,
		},
		school: "北京大学",
	}
	fmt.Println(s1)
	fmt.Printf("姓名:%s, 年龄:%d, 学校:%s\n",s1.name,s1.age,s1.school)

}
//1.定义父类
type Person struct {
	name string
	age int
}
//2.定义子类
type Student struct {
	Person   //模拟继承结构
	school string  //子类新增属性
}


结果:
{小明 21}
小明 21
{{李四 22} 北京大学}
姓名:李四, 年龄:22, 学校:北京大学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值