package main
import "fmt"
type Human struct{ //定义了Human类
name string
gender string
}
func (this *Human) Eat(){
fmt.Println("Human eat.....")
}
func (this *Human) Walk(){
fmt.Println("Human walk ......")
}
type SuperHuman struct{//定义了个SuperHuman 类
Human //go语言中这样可以继承啦
id int
}
func (this *SuperHuman) Eat(){
fmt.Println("我是神。。。。。。。")
}
func main() {
superpeopele:=SuperHuman{Human{"neu","male"},1}
fmt.Println(superpeopele)
var s SuperHuman
s.id=2323
s.name="jiaqiang"
s.gender="female"
fmt.Println(s)
var animal Animal
animal=&Cat{"red"}
animal.Sleep()
animal.GetType()
}
//此处学习多态
type Animal interface {
Sleep()
Getcolor() string
GetType() string
}
type Cat struct{
color string//颜色
}
//继承借口只需要把接口的方法都重写一遍
func (this *Cat) Sleep(){
fmt.Println("Cat is sleeping")
}
func (this *Cat) Getcolor() string {
return this.color
}
func (this *Cat) GetType() string{
return "Cat"
}