4.1 go 继承(匿名组合)

/*
   继承概念
 */
package main

import "fmt"

type Persion struct {
	name string
	sex  byte
	age  int
}
type Student struct {
	Persion //只有类型,没有名字,匿名字段,继承Person的成员
	id      int
	addr    string
}

func main() {
	//01 初始化
	//顺序初始化
	var s1 Student = Student{Persion{"mike", 'm', 18}, 111, "shanghai"}
	fmt.Println("s1=", s1)
	//自动推导类型
	s2 := Student{Persion{"mike", 'm', 18}, 111, "shanghai"}
	fmt.Println("s2=", s2)
	fmt.Printf("s2=%v", s2)
	//指定成员初始化 未初始化的为类型默认值
	s3 := Student{addr: "beijing"}
	fmt.Println("s3=", s3)
	//02属性调用
	s3.name = "huahua"
	fmt.Println("s3=", s3)
	//03子类父类同名 子类会覆盖父类,要想调用父类方法,需要指定父类 名称



}
发布了124 篇原创文章 · 获赞 94 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/h4241778/article/details/105317741
今日推荐