gpt4 book ai didi

ruby - 你如何在 ruby​​ 中创建一个界面?

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:31 25 4
gpt4 key购买 nike

我来自 Java,想知道 ruby​​ 中是否存在接口(interface)?您如何模仿 Java 接口(interface)提供的契约行为?

例如:

interface ContactService {
public boolean successful(Contract contract);
}

最佳答案

Ruby 中没有真正的接口(interface)概念。取而代之的是,人们倾向于只编写通用方法,而不关心他们正在操作的对象的类型,而只使用对象需要实现的一些特定方法集。

例如:

def add(a,b)
a+b
end

add 方法不关心它的参数是整数、字符串还是数组。它们必须是实现 + 运算符的对象。

def calltwice(obj)
obj.call
obj.call
end

calltwice 方法不关心 obj 是 lambda、proc 还是某个自定义类。它只关心对象有一个call方法。

您可以通过告诉代码的用户将调用哪些方法以及它们的行为方式,在注释中非正式地定义接口(interface)。

关于ruby - 你如何在 ruby​​ 中创建一个界面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com