失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > go语言学习(4)接口 duck typing

go语言学习(4)接口 duck typing

时间:2023-03-20 01:37:18

相关推荐

go语言学习(4)接口 duck typing

我个人感觉,需要弄清楚一个东西到底是怎么回事,只需要知道他是为什么而诞生的,这样可以很快的明白他的用法甚至思想

在java中,会出现这样的情况,两个不同的类并没有相互继承关系,但是很明显他们有很多共同的行为,如果希望让他们能被同一个方法作为参数进行调用,但是很遗憾的是,至少我目前能使用的方法就是 把逻辑层或者接口提取到接口中,通过以接口为参数类型来引用参数,但是这样还是隐隐然存在着一种继承关系,因为个人感觉,实现接口只是一种极其特殊的继承关系罢了.

那么duck typing是怎么解决这个问题的呢,比如说,你定义只要有手就是人类,那么我们会将所有有手的东西看做人类,不管他是猪狗牛羊,还是别的.duck typing描述的是外部行为而并非内部结构.

java:

<R extends Retriever>

String download(R r) {

return r.get("");

}

传入的参数必须实现Retriever接口

不是duck typing

接口由使用者定义,这个其实很有意思,后面会描述

如果觉得《go语言学习(4)接口 duck typing》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。