的，协议很有可能提供了这个对象能够被访问的唯一途径。一些编程语言直接支持协议或者接口 (Objective-C, Java, C#, D, Ada, Logtalk)，而早期的语言可能也有支持接口概念的特性，比如 C++中抽象基类里的纯虚函数，和Perl里的面向对象特征。请注意，在函数型程序设计和分布式程序设计语言中，也有一个概念叫做协议，但是这里协议的意思会有些许微妙的不同 (即一种允许消息交换的规格，其重点在于交换，而不是信息)。产生这个差异的原因是函数型程序设计和面向对象程序设计的范例有所不