Linguagem de Programação / Polimorfismo

Linguagem de Programação / Polimorfismo
Resolução: João Davi / Luiz Carlos / Matheus / Rafael

Arquivo: Contribuinte.java


Arquivo: PessoaJuridica.java


Arquivo: PessoaFisica.java


Comentários

  1. // Resolução do exercício 9 da lista

    package exercicio9;

    public abstract class Contribuinte {

    private String nome;
    private String endereco;
    private String telefone;
    private double rendimentos;

    public double calcularImposto() {
    return 0;
    }
    public String getNome() {
    return nome;
    }
    public void setNome(String nome) {
    this.nome = nome;
    }
    public String getEndereco() {
    return endereco;
    }
    public void setEndereco(String endereco) {
    this.endereco = endereco;
    }
    public String getTelefone() {
    return telefone;
    }
    public void setTelefone(String telefone) {
    this.telefone = telefone;
    }
    public double getRendimentos() {
    return rendimentos;
    }
    public void setRendimentos(double rendimentos) {
    this.rendimentos = rendimentos;
    }

    }

    package exercicio9;


    public class PessoaFisica extends Contribuinte {

    private String cpf;

    public double calcularImposto(){

    double valor = getRendimentos();
    if ((valor >= 0) && (valor <=1000)){
    double perc = (valor * 0)/100;
    valor = perc;
    } else if ((valor >= 1000.1 ) && (valor <= 2500.00)){
    double perc = (valor * 10)/100;
    valor = perc;
    } else if ((valor >= 2500.1)&& (valor <= 5000.00)){
    double perc = (valor * 16)/100;
    valor = perc;
    }else {
    double perc = (valor * 20)/100;
    valor = perc;
    }
    return 0;
    }


    public String getCpf() {
    return cpf;
    }
    public void setCpf(String cpf) {
    this.cpf = cpf;
    }
    }

    package exercicio9;


    public class PessoaJuridica extends Contribuinte {

    private String cnpj;

    public double calcularImposto(){


    double valor = getRendimentos();
    if ((valor >= 0) && (valor <=2500.00)){
    double perc = (valor * 3)/100;
    valor = perc;
    } else if ((valor >= 2500.1 ) && (valor <= 7000.00)){
    double perc = (valor * 8)/100;
    valor = perc;
    } else if ((valor >= 7000.1)&& (valor <= 15000.00)){
    double perc = (valor * 15)/100;
    valor = perc;
    }else {
    double perc = (valor * 22)/100;
    valor = perc;
    }
    return 0;
    }

    public String getCnpj() {
    return cnpj;
    }
    public void setCnpj(String cnpj) {
    this.cnpj = cnpj;
    }

    }


    //Tive um pouco de dificuldade na hora da criação dos “if’s” e “else’s” ( não no código em si, mas na criação das formulas), de resto o código fluiu bem.

    ResponderExcluir
  2. Quando aplicamos a anotação @Override em um método

    ResponderExcluir
    Respostas
    1. Quando se repete um método que tenha a mesma assinatura em classes diferentes do mesmo pacote.

      Excluir
  3. Boa noite João e Gisele!

    Lembrando que o polimorfismo está diretamente ligado ao conceito de herança!

    Um abraço!

    ResponderExcluir
  4. Arquivo contribuição!!

    public class Contribuinte {

    private String nome;

    private String endereco;

    private String telefone;

    private double rendimento;



    /**

    * @return the nome

    */

    public String getNome() {

    return nome;

    }



    /**

    * @param nome the nome to set

    */

    public void setNome(String nome) {

    this.nome = nome;

    }



    /**

    * @return the endereco

    */

    public String getEndereco() {

    return endereco;

    }



    /**

    * @param endereco the endereco to set

    */

    public void setEndereco(String endereco) {

    this.endereco = endereco;

    }



    /**

    * @return the telefone

    */

    public String getTelefone() {

    return telefone;

    }



    /**

    * @param telefone the telefone to set

    */

    public void setTelefone(String telefone) {

    this.telefone = telefone;

    }



    /**

    * @return the rendimento

    */

    public double getRendimento() {

    return rendimento;

    }



    /**

    * @param rendimento the rendimento to set

    */

    public void setRendimento(double rendimento) {

    this.rendimento = rendimento;

    }





    }

    ResponderExcluir
  5. Rafael Gerard e Ricardo Paladino
    (ArquivoPessoaFísica)

    package tipo;



    import comum.Contribuinte;





    public class PessoaFisica extends Contribuinte {

    private String Cpf;



    public double calcularImposto(){

    double valor = getRendimento();



    if((valor >= 0) && (valor <= 1000)){

    double percent = (valor * 0)/100;

    valor = percent;

    }

    else if ((valor >= 1000.01) && (valor <= 2500.00)){

    double percent = (valor * 10)/1000;

    valor = percent;

    }

    else if ((valor >= 2500.01) && (valor <= 5000.00)){

    double percent = (valor * 16)/1000;

    valor = percent;

    }

    else {

    double percent = (valor * 20)/100;

    valor = percent;

    }



    setRendimento (valor);



    return 0;



    }

    public String getCpf(){

    return Cpf;

    }

    ResponderExcluir
  6. Rafael Gerard e Ricardo Paladino
    (ArquivoPessoaJuridica)


    package tipo;



    import comum.Contribuinte;



    public class PessoaJuridica extends Contribuinte {

    private String cnpj;

    public double calcularImposto(){

    double valor = getRendimento();



    if((valor >= 0) && (valor <= 2500.00)){

    double percent = (valor * 3)/100;

    valor = percent;

    }

    else if ((valor >= 2500.01) && (valor <= 7000.00)){

    double percent = (valor * 8)/1000;

    valor = percent;

    }

    else if ((valor >= 7000.01) && (valor <= 15000.00)){

    double percent = (valor * 15)/1000;

    valor = percent;

    }

    else {

    double percent = (valor * 22)/100;

    valor = percent;

    }



    setRendimento (valor);return 0;

    }

    public String getCnpj(){

    return cnpj;

    }public void setCnpj(String cnpj){

    this.cnpj = cnpj;

    }

    }

    ResponderExcluir

Postar um comentário

Postagens mais visitadas deste blog

Questão Comentada - Prof Nelson Lage

Classes(abstratas e concretas), Objetos, Métodos, Construtores, Vetor de Objetos e trabalhar o conceito de interface.

10 habilidades digitais que todo professor deve ter