委譲・継承

Inheritance.java

public class Inheritance extends SuperClass implements Interface {
    public void method(){
        super.doSomething();
    }
}

Delegation.java

public class Inheritance implements Interface {
    SuperClass superClass;
    public void method(){
        superClass.doSomething();
    }
}

SuperClassがprotectedな要素を持たない場合、継承と同様に振舞う委譲を作ることができる。ただし、委譲ではタイプ量が増加しがちなためIDEや構文による適切な補助が必要だろう。また、SuperClassがabstract protectedなメソッドを持ったスケルトン実装の場合、単純な継承よりもAspect的に解決した方が簡潔な表現が得られる。