// Overloaded constructors public SilverState(State state) : this(state.Balance, state.Account) { }
// Overloaded constructors public GoldState(State state) : this(state.Balance, state.Account) { }
// Constructor public Account(string owner) { // New accounts are 'Silver' by default this._owner = owner; this._state = new SilverState(0.0, this); }
// Constructor public RedState(State state) { this.balance = state.Balance; this.account = state.Account; Initialize(); }