Difference between revisions of "Exercício herança (Pessoa)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == Enunciado == Seguindo a especificação abaixo, desenvolva em C# três classes: Pessoa, PessoaFisica e PessoaJuridica, todas do namespace ExercicioHeranca. *Pessoa: deverá ter um mét...)
 
(Enunciado)
Line 1: Line 1:
 
== Enunciado ==
 
== Enunciado ==
 +
 +
=== Etapa 1 ===
 
Seguindo a especificação abaixo, desenvolva em C# três classes: Pessoa, PessoaFisica e PessoaJuridica, todas do namespace ExercicioHeranca.
 
Seguindo a especificação abaixo, desenvolva em C# três classes: Pessoa, PessoaFisica e PessoaJuridica, todas do namespace ExercicioHeranca.
  
 
*Pessoa: deverá ter um método abstrato de nome '''CalcularTarifa''' que deverá retornar um double e não receber parâmetros.
 
*Pessoa: deverá ter um método abstrato de nome '''CalcularTarifa''' que deverá retornar um double e não receber parâmetros.
 
*PessoaFisica: deverá herdar de '''Pessoa''', ter duas propriedades públicas '''Nome''' e '''Saldo''' respectivamente do tipo string e double além de implementar o método '''CalcularTarifa''' que deverá retornar '''Saldo''' multiplicado por 0.1.
 
*PessoaFisica: deverá herdar de '''Pessoa''', ter duas propriedades públicas '''Nome''' e '''Saldo''' respectivamente do tipo string e double além de implementar o método '''CalcularTarifa''' que deverá retornar '''Saldo''' multiplicado por 0.1.
*PessoaJuridica: deverá herdar de '''Pessoa''', ter também duas propriedades públicas '''RazaoSocial''' (string) e '''Limite''' (double). A implementação do método '''CalcularTarifa''' deverá retornar '''Limite''' multiplicado por 0.2.
+
*PessoaJuridica: deverá herdar de '''Pessoa''', ter também duas propriedades públicas '''RazaoSocial''' (string) e '''Limite''' (double não negativo). A implementação do método '''CalcularTarifa''' deverá retornar '''Limite''' multiplicado por 0.2.
 +
 
 +
Sempre que o usuário tentar setar o valor de '''Limite''' para um número negativo deve-se lançar uma exceção do tipo InvalidOperationException com a mensagem "Limite deve ser um número positivo".
  
 
Crie os atributos e outros mecanismos necessários para implementar o solicitado.
 
Crie os atributos e outros mecanismos necessários para implementar o solicitado.
 +
 +
=== Etapa 2 ===
 +
Em PessoaFisica crie duas propriedades somente leitura: '''Credito''' e '''Debito'''. '''Crédito''' exibirá o valor de '''Saldo''' quando este for positivo ou zero caso contrário. '''Débito''' exibirá o oposto do valor de '''Saldo''' quando este for negativo ou zero caso contrário.
 +
 +
=== Etapa 3 ===
 +
Mova as propriedades '''Credito''', '''Debito''' e '''Saldo''' para '''Pessoa''' e faça os ajustes necessários.
 +
 +
=== Etapa 4 ===
 +
Em PessoaJuridica lance uma exceção InvalidOperationException e não permita que o valor de '''Saldo''' seja setado para um valor menor que o oposto do '''Limite'''.

Revision as of 18:49, 31 March 2009

Enunciado

Etapa 1

Seguindo a especificação abaixo, desenvolva em C# três classes: Pessoa, PessoaFisica e PessoaJuridica, todas do namespace ExercicioHeranca.

  • Pessoa: deverá ter um método abstrato de nome CalcularTarifa que deverá retornar um double e não receber parâmetros.
  • PessoaFisica: deverá herdar de Pessoa, ter duas propriedades públicas Nome e Saldo respectivamente do tipo string e double além de implementar o método CalcularTarifa que deverá retornar Saldo multiplicado por 0.1.
  • PessoaJuridica: deverá herdar de Pessoa, ter também duas propriedades públicas RazaoSocial (string) e Limite (double não negativo). A implementação do método CalcularTarifa deverá retornar Limite multiplicado por 0.2.

Sempre que o usuário tentar setar o valor de Limite para um número negativo deve-se lançar uma exceção do tipo InvalidOperationException com a mensagem "Limite deve ser um número positivo".

Crie os atributos e outros mecanismos necessários para implementar o solicitado.

Etapa 2

Em PessoaFisica crie duas propriedades somente leitura: Credito e Debito. Crédito exibirá o valor de Saldo quando este for positivo ou zero caso contrário. Débito exibirá o oposto do valor de Saldo quando este for negativo ou zero caso contrário.

Etapa 3

Mova as propriedades Credito, Debito e Saldo para Pessoa e faça os ajustes necessários.

Etapa 4

Em PessoaJuridica lance uma exceção InvalidOperationException e não permita que o valor de Saldo seja setado para um valor menor que o oposto do Limite.