public override Account CreateNewAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId) => new AccountType.GoldAccount(holder, generatorId);
public SilverAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus) { }
public GoldAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal balance, int bonusPoints, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus, balance, bonusPoints) { }
public abstract Account CreateNewAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId);
public PlatinumAccount(AccountHolder.AccountHolder holder, INumberGenerate generatorId, decimal balance, decimal bonus = 0) : base(holder, generatorId, bonus == 0 ? DefaultBonus : bonus, balance) { }