Difference between revisions of "Exercício herança (Pessoa)"
(→Enunciado) |
(→Etapa 1) |
||
Line 8: | Line 8: | ||
*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. | *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". | + | 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 ou zero". |
Crie os atributos e outros mecanismos necessários para implementar o solicitado. | Crie os atributos e outros mecanismos necessários para implementar o solicitado. |
Revision as of 18:52, 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 ou zero".
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.