继承的引入

继承的引入

  1. 继承的引入:

    当多个结构体存在相同的属性(字段)和方法时,可以从这些结构体中抽象出结构体,在该结构体中定义这些相同的属性和方法,其他的结构体不需要重新定义这些属性和方法,只需嵌套一个匿名结构体即可。也就是说:在Golang中,如果一个struct嵌套了另一个匿名结构体,那么这个结构体可以直接访问匿名结构体的字段和方法,从而实现了继承特性。

    image

  2. 代码引入:

    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()
    }
    
  3. 继承的优点

    提高代码的复用性、扩展性

posted @ 2025-07-02 18:11  hutaodd  阅读(9)  评论(0)    收藏  举报