方法

作者: isuntong | 来源:发表于2020-03-10 20:22 被阅读0次

方法

package main

import "fmt"

//38
func main() {

    /*
    方法:method

    语法:
        func (接受者) 方法名(参数列表)(返回值列表) {
        
        }

    对比函数:
        意义:
            方法:某个类别得行为功能,需要指定得接收者调用
            函数:一段独立功能的代码,可以直接调用

        语法:
            方法:方法名可以相同,只要接收者不同
            函数:明明不能冲突

    */
    w1 := Worker2{
        name: "王二狗",
        age:  30,
        sex:  "男",
    }
    w1.work()

}

//定义一个结构体
type Worker2 struct {
    name string
    age int
    sex string
}

//定义行为方法
func (w Worker2) work() {
    fmt.Println(w.name,"在工作")
}


继承中的方法

/*
    继承中的方法
    */
    p1 := Father{"王二狗",30}
    p1.eat()

    //子类对象
     s1 := Son{Father{"张三",20},"东大"}
     s1.eat() //子类对象访问父类的方法,不重写就访问父类的方法
     s1.study()
//定义一个子类
type Son struct {
    Father
    school string
}

//方法
func (f Father) eat() {
    fmt.Println("父类吃方法,吃窝窝头")
}

//子类新增方法
func (s Son) study(){
    fmt.Println("子类学习方法,学习学习")
}

//重写父类方法
func (s Son) eat() {
    fmt.Println("子类吃方法,吃方便面")
}

相关文章

网友评论

      本文标题:方法

      本文链接:https://www.haomeiwen.com/subject/gcigdhtx.html