2
私はJavaから来て、インタフェースがルビに存在するかどうか疑問に思っていますか? Javaインターフェイスが提供する契約上の動作をどのように模倣することができますか?例えばルビーでどのようにインターフェイスを作成しますか?
:
interface ContactService {
public boolean successful(Contract contract);
}
私はJavaから来て、インタフェースがルビに存在するかどうか疑問に思っていますか? Javaインターフェイスが提供する契約上の動作をどのように模倣することができますか?例えばルビーでどのようにインターフェイスを作成しますか?
:
interface ContactService {
public boolean successful(Contract contract);
}
Rubyでのインターフェイスの本当の概念はありません。代わりに、人々は、操作しているオブジェクトの種類を気にせず、オブジェクトが実装する必要のある特定のメソッドセットを使用するだけの一般的なメソッドを作成する傾向があります。例えば
:その引数は整数、文字列、または配列である場合
def add(a,b)
a+b
end
はadd
方法は気にしません。それらは、+
演算子を実装するオブジェクトでなければなりません。 obj
はラムダ、PROC、またはいくつかのカスタムクラスであれば
def calltwice(obj)
obj.call
obj.call
end
calltwice
方法は気にしません。オブジェクトにはcall
メソッドがあるだけです。
コメント内のインターフェイスを非形式的に定義するには、コードのユーザーにどのように動作させるべきかを指示します。
[Rubyのjavaインターフェイスと同等のものは?](http://stackoverflow.com/questions/4437291/what-is-java-interface-equivalent-in-ruby) –