go方法重写

package main

import "fmt"

//about receiver function
type Student struct {
    Human
    school string
}
type Employer struct {
    Human
    company string
}
type Human struct {
    name  string
    age   int
    phone string
}

//implement Human method
func (h *Human) SetName(name string) {
    fmt.Print("human")
    h.name = name
}

func (h *Human) SetAge(age int) {
    h.age = age
}

func (h *Human) SetPhone(phone string) {
    h.phone = phone
}
func (h *Human) GetInfo() Human {
    return *h
}

func (s *Student) SetName(name string) {
    fmt.Print("student")
    /*about here we can use two wanys to change the value ,so ,how different there ?????*/
    s.name = name
    //s.Human.name = name
}

//在go中也有方法的重写和继承

func main() {
    s := Student{}
    s.SetPhone("18755201184")
    s.SetName("tsong")
    s.SetAge(26)
    fmt.Print(s.GetInfo())
}
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值