There are two types of delegation:
- Explicit
- Implicit
There are two types of delegation:
Explicit delegation can be implemented by passing the delegate object to the delegating object. We can do this in any object-oriented language, such as Java. Let's create a Calculator interface:
public interface Calculator {
int performOperation(String operand);
}
We'll also create a CalculatorBrain class that implements the Calculator interface:
public class CalculatorBrain implements Calculator {
public int performOperation(String operand) {
throw new IllegalStateException("Not implemented!");
}
}
Now we'll implement a CalculatorMachine class. An instance of this class is a delegating object...