继承的引入
继承的引入
-
继承的引入:
当多个结构体存在相同的属性(字段)和方法时,可以从这些结构体中抽象出结构体,在该结构体中定义这些相同的属性和方法,其他的结构体不需要重新定义这些属性和方法,只需嵌套一个匿名结构体即可。也就是说:在Golang中,如果一个struct嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性。
![image]()
-
代码引入:
package main import ( "fmt" ) //定义动物结构体 type Animal struct { Age int weight float32 } //给Animal结构体添加一个方法:喊叫 func (a *Animal) Shout() { fmt.Println("我可以大喊大叫") } //给绑定方法:自我展示: func (a *Animal) showInfo() { fmt.Println("年龄:", a.Age, "体重:", a.weight) } //定义结构体:cat type Cat struct { // 继承Animal Animal } //给Cat绑定特有方法: func (c *Cat) scratch() { fmt.Println("我是猫,我可以挠人") } func main() { cat := &Cat{} cat.Animal.Age = 3 cat.Animal.weight = 4.5 cat.Animal.Shout() cat.Animal.showInfo() cat.scratch() } -
继承的优点
提高代码的复用性、扩展性


浙公网安备 33010602011771号