登录
首页 >  Golang >  Go问答

go中怎样形象的理解接口?

来源:SegmentFault

时间:2023-01-13 12:56:20 391浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《go中怎样形象的理解接口?》,主要介绍了go,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

结构体可以用类来理解,方法可以用类内定义的函数来理解,有点搞不懂接口到底用来干嘛

正确答案

如果说类是对数据和方法的抽象和封装,那么接口就是对类的抽象。

这里使用

Java
来说明,
Java
中的接口与`
Go
`中的接口是类似的,只不过
Java
中要显式的声明实现某个接口,而
Go
中不需要显式的声明实现了某个接口,只要实现了其中的所有方法,就默认为实现了该接口。

比如说有一个Person接口:

public interface Person{
    void walk();
}

有一个Student类实现了Person接口

public class Student implements Person {
    //实现walk方法
    @Override
    public void walk(){
        System.out.print("Student.walk()");
    }
    //...其他方法
}

有一个Teacher类也实现了Person接口

public class Teacher implements Person {
    //实现walk方法
    @Override
    public void walk(){
        System.out.print("Teacher.walk()");
    }
    //...其他方法
}

在某个类中可以这样使用

public class SomeClass{
    //这里接收一个Person类型
    public static void usePerson(Person p){
        p.walk()
    }
    
    public static void main(String[] args){
        //可以接收任何实现了Person接口的类的对象
        usePerson(new Student());
        usePerson(new Teacher());
    }
}

使用接口的好处是非常灵活,这样就与具体的实现做了解耦,如果以后有其他的实现类,只需要实现Person接口就可以了,而不用去改使用的时候的代码。

终于介绍完啦!小伙伴们,这篇关于《go中怎样形象的理解接口?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表