Java では、いくつかのセットアップ作業を行ってから、次のように具象クラスに委譲する抽象クラスを作成することに慣れています。
public abstract class Base {
public void process() {
// do some setup
//...
// then call the concrete class
doRealProcessing();
}
protected abstract void doRealProcessing();
}
public class Child extends Base {
@Override
protected void doRealProcessing() {
// do the real processing
}
}
抽象クラスやメソッドがないため、Ruby でこれを行うのに苦労しています。また、「Ruby では抽象クラスやメソッドを必要としないはずであり、Ruby で Java を記述しようとするのをやめるべきだ」という記事も読みました。
Rubyで等価性を実装する正しい方法は何ですか?