Difference between revisions of "Solução: CSharp: Exercício herança (Pessoa) (Anderson Martins)"
From AdonaiMedrado.Pro.Br
(New page: <code lang="csharp"> public abstract class Pessoa { protected double _Saldo; public abstract double Saldo {get;set;} public abstract double CalcularTarifa(); public dou...) |
|||
Line 80: | Line 80: | ||
} | } | ||
set { | set { | ||
− | this._Limite = value; | + | if(value >= 0) |
+ | this._Limite = value; | ||
+ | else | ||
+ | throw new InvalidOperationException("Limite nao pode ser negativo"); | ||
} | } | ||
} | } |
Latest revision as of 00:17, 8 April 2009
public abstract class Pessoa { protected double _Saldo; public abstract double Saldo {get;set;} public abstract double CalcularTarifa(); public double Credito { get { if (this.Saldo > 0) return this.Saldo; else return 0; } } public double Debito { get { if (this.Saldo < 0) return this.Saldo * -1 ; else return 0; } } } public class PessoaFisica : Pessoa { private string _Nome; public string Nome { get { return _Nome; } set { this._Nome = value; } } public override double Saldo { get {return _Saldo;} set {this._Saldo = value;} } public override double CalcularTarifa(){ return this.Saldo * 0.1; } } public class PessoaJuridica : Pessoa { private string _RazaoSocial; public string RazaoSocial { get { return _RazaoSocial; } set { this._RazaoSocial = value; } } private double _Limite; public double Limite { get { return _Limite; } set { if(value >= 0) this._Limite = value; else throw new InvalidOperationException("Limite nao pode ser negativo"); } } public override double Saldo { get {return _Saldo;} set { if(value < this._Limite * -1) throw new InvalidOperationException("Limite excedido"); else this._Saldo = value; } } public PessoaJuridica() { } public override double CalcularTarifa () { return this.Limite * 0.2; } }