public class factory { factory
public factory() { }
letter letter() { return new letter(); }
envelope envelope() { return new envelope(); }
};
public class envelope { envelope
letter impl;
public envelope() {
factory f = new factory();
impl = f.letter(); // obtained from factory
}
public void message() {
impl.message();
}
};
slide: Factory