对象:接口思想和接口内部实现

本文探讨接口在编程中的作用,作为行为约定的接口如何解除依赖关系。详细介绍了接口与抽象类的区别,接口的定义,以及如何根据方法集判断接口实现。进一步解析接口内部实现,揭示了接口的内存模型和方法集的概念,帮助理解Go语言中接口的特殊之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

接口

接口(interface)代表一种“约定”或“协议”。允许在非显式关联的情况下,组合并调用其他类型的方法。

  • 接口是多个方法声明的集合。
  • 接口可解除依赖关系,屏蔽实现细节。
  • 只要方法集包含对应方法即为实现,无显式声明。
  • 类型可实现多个接口,以面向不同服务。

调用一个对象的成员有两种方式,第一种是直接调用,另外一种方式是通过接口间接调用。

接口代表一种行为上的约定或协议。接口是设计上的概念。接口本身是多个方法集合。接口好处解除依赖关系。技术细节不关心,符合实现方式可以。

方法集归根结底是为实现接口而准备的,接口到底是怎么样实现的,我们现在已经为接口调用准备好了接口所对应的方法,接下来接口到底怎么样把一个普通的对象变成一个接口呢?或者说怎么样通过接口来调用真实的对象方法呢?

我们实现一个类型X,X有a,b,c三个方法,现在有个接口I,要求必须要实现a,b,c。这样的情况下就说X实现了I接口,接下来可以I等于X的实例,I可以调用a,这个最终会还原成X.a的调用。我们想分析下“I等于X的实例”怎么实现的?就是说接口怎么存储一个真实的对象,还想了解用接口调用一个方法的时候究竟是怎么实现的,就是说接口怎么找到真实的方法,怎么知道那个方法在哪࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值