Go语言(二) 继承和重载

继承

 1 package main
 2 
 3 import "fmt"
 4 
 5 type Skills  []string
 6 
 7 type person struct {
 8   name string
 9   age  int
10   weight int
11 }
12 
13 type Student struct {
14   person    //继承
15   Skills
16   int
17   spe string
18 }
19 
20 func init() {
21 
22 }
23 
24 func main() {
25   xuxu := Student{person{"xuxu",25,68}, []string{"anatomy"}, 1, "boy"} //方式一,全部指定
26   jane := Student{person:person{"Jane",25,100}, spe:"Biology"}  //方式二,指哪打哪
27 
28   fmt.Printf("His name is %s\n", jane.name)
29   fmt.Printf("His name is %s\n", xuxu.name)
30 }

 

 

重载

 1 package main
 2 
 3 import "fmt"
 4 
 5 type Skills  []string
 6 
 7 type person struct {
 8   name string
 9   age  int
10   weight int
11   spe  string  //inner spe,重载
12 }
13 
14 type Student struct {
15   person    //继承
16   Skills
17   int
18   spe string   //outter spe,重载
19 }
20 
21 func init() {
22 
23 }
24 
25 func main() {
26   xuxu := Student{person{"xuxu",25,68,"inner spe"}, []string{"anatomy"}, 1, "outter spe"} 
27 
28   fmt.Printf("His name is %s\n, inner spe :%, outter spe :%s", xuxu.name, xuxu.person.spe, xuxu.spe)
29 }

 

 

posted on 2013-09-02 15:09  笔记吧... 可能只有自己看得懂  阅读(6041)  评论(1编辑  收藏  举报