其他分享
首页 > 其他分享> > 继承

继承

作者:互联网

image-20220829190829450

package main

import "fmt"

type Human struct {
   name string
   sex  string
}

func (this *Human) Eat() {
   fmt.Println("Human.Eat()...")
}

func (this *Human) Walk() {
   fmt.Println("Human.Walk()...")
}

//=================

type SuperMan struct {
   Human //SuperMan类继承了Human类的方法

   level int
}

//重定义父类的方法Eat()
func (this *SuperMan) Eat() {
   fmt.Println("SuperMan.Eat()...")
}

//子类的新方法
func (this *SuperMan) Fly() {
   fmt.Println("SuperMan.Fly()...")
}

func (this *SuperMan) Print() {
   fmt.Println("name = ", this.name)
   fmt.Println("sex = ", this.sex)
   fmt.Println("level = ", this.level)
}

func main() {
   h := Human{"zhang3", "female"}

   h.Eat()
   h.Walk()

   //定义一个子类对象
   //s := SuperMan{Human{"li4", "female"}, 88}
   var s SuperMan
   s.name = "li4"
   s.sex = "male"
   s.level = 88

   s.Walk() //父类的方法
   s.Eat()  //子类的方法
   s.Fly()  //子类的方法

   s.Print()
}

标签:func,继承,fmt,Human,Println,Eat,SuperMan
来源: https://www.cnblogs.com/suehoo/p/16637060.html