Difference between revisions of "Exercício herança (Pessoa)"
(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.