Solução: CSharp: Exercício herança (Pessoa) (Anderson Martins)

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
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;
		}
 
 
	}