前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang学习-----侵入式接口与非侵入式接口

golang学习-----侵入式接口与非侵入式接口

作者头像
碧海长天
发布2021-10-21 16:07:42
1.1K0
发布2021-10-21 16:07:42
举报
文章被收录于专栏:golang探索者golang探索者

golang学习-----侵入式接口与非侵入式接口

2019-3-19

重要的概念先说:Go语言的接口并不是其他语言(C++、Java、Php等)中所提到的接口概念。

go语言等接口属于非侵入式接口。

侵入式接口:实现类需要明确声明自己实现了某个接口。

例如:

interface IFoo{
    void Bar();
}

class Foo implements IFoo{    //java
    //...
}

class Foo : public IFoo {   //C++
  // ...
}

IFoo* foo = new foo;

非侵入式接口:一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口

例如:

type IFoo interface {
	Bar()
}

type Foo struct {
}

func(f *Foo) Bar(){
}

go语言中非侵入式接口的影响:

    1.go语言标准库不再需要绘制类库的继承树。

    2.实现类的时候,只需要关心自己应该提供哪些方法,不用再纠结接口需要拆得多细才合理。

    3.接口由使用方按自身需求来定义,使用方无需关心是否有其他模块定义过类似的接口。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • golang学习-----侵入式接口与非侵入式接口
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档