private interface ConnectionState { bool checkState (); } private class OkConnectionState : ConnectionState { bool checkState () { return true; } } private class FailedConnectionState : ConnectionState { bool checkState () { return false; } } void main () { ConnectionState c = new OkConnectionState (); ConnectionState d = new FailedConnectionState (); c.checkState (); }