golang中结构体的嵌套、方法的继承、方法的重写


package main

import "fmt"

type human struct {
	name, phone string
	age         int8
}
type student struct {
	human  // 嵌套结构体
	school string
}
type employee struct {
	human
	company string
}

func (h human) sayHi() {
	fmt.Printf("我叫%s,今年%d,联系方式%s\n", h.name, h.age, h.phone)
}
// 方法的重写
func (s student) sayHi() {
	fmt.Printf("我叫%s,我是%s的,今年%d,联系方式%s\n", s.name, s.school, s.age, s.phone)
}

func main() {
	h1 := human{name: "zs", age: 18, phone: "1365434789"}
	h1.sayHi()

	// 方法的继承
	s1 := student{school: "一种", human: human{name: "lisi", age: 88, phone: "123456789"}}
	s1.sayHi()

}

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM