Exercecio em polimorfismo duvidas

2 respostas
F

Olá galera boa noite eu estou com duvida sobre esse exercicio em java alguem poderia ajudar não sei por onde começar

a)Crie um método na classe pessoa que calcule a idade
da pessoa recebendo como parâmetro o ano de
nascimento como inteiro

b)Crie um método na classe pessoa que faça a mesma ação
que o anterior recebendo como parâmetro o ano de
nascimento como String

c)Crie um método na classe funcionário que faça a mesma
ação que o anterior recebendo como parâmetro o ano
de nascimento como real

2 Respostas

Jothar_Aleksander

Bom, nesse caso, Funcionario deve herdar de Pessoa. Basta sobrepor o método que calcula a idade de pessoa em funcionário.

Exemplo:

1 - Pessoa

public class Pessoa {
	private String nome;
	
	public int calcularIdade(int anoNascimento){
		return 2019 - anoNascimento;
	}
	
	public void setNome(String nome){
		this.nome = nome;
	}
	
	public String getNome(){
		return nome;
	}
}

2 - Funcionário

public class Funcionario extends Pessoa{
	private String numeroCracha;
	private String setor;
	
	public double calcularIdade(double anoNascimento){
		return 2019 - anoNascimento;
	}
	
	public void setNumeroCracha(String numeroCracha){
		this.numeroCracha = numeroCracha;
	}
	
	public String getNumeroCracha(){
		return numeroCracha;
	}
	
	public void setSetor(String setor){
		this.setor = setor;
	}
	
	public String getSetor(){
		return setor;
	}
}

3 - Polimorfismo Universal de Sobreposição (subtyping)

public class Polimorfismo {
	public static void main(String[] args){
		Pessoa pessoa1 = new Pessoa();
		pessoa1.setNome("João");
		pessoa1.calcularIdade(1987);
		
		Pessoa pessoa2 = new Pessoa();
		pessoa2.setNome("Gabrielly");
		pessoa2.calcularIdade(1996);
		
		Funcionario funcionario1 = new Funcionario();
		funcionario1.setNome("João");
		funcionario1.setNumeroCracha("0321");
		funcionario1.setSetor("Engenharia");
		funcionario1.calcularIdade(1987.0);
		
		Funcionario funcionario2 = new Funcionario();
		funcionario2.setNome("Gabrielly");
		funcionario2.setNumeroCracha("0877");
		funcionario2.setSetor("Arquitetura");
		funcionario2.calcularIdade(1996.0);
		
		System.out.println("+========================== Pessoas =========================+");
		System.out.println("Pessoa: " + pessoa1.getNome());
		System.out.println("Idade: " + pessoa1.calcularIdade(1987));
		System.out.println("--------------------------------------------------------------");
		System.out.println("Pessoa: " + pessoa2.getNome());
		System.out.println("Idade: " + pessoa2.calcularIdade(1996));
		System.out.println("+============================================================+");
		
		System.out.println("|                                                            |");
		
		System.out.println("+======================= Funcionários =======================+");
		System.out.println("Funcionário: " + funcionario1.getNome());
		System.out.println("Identificação: " + funcionario1.getNumeroCracha());
		System.out.println("Setor: " + funcionario1.getSetor());
		System.out.println("Setor: " + funcionario1.calcularIdade(1987.0));
		System.out.println("--------------------------------------------------------------");
		System.out.println("Funcionário: " + funcionario2.getNome());
		System.out.println("Identificação: " + funcionario2.getNumeroCracha());
		System.out.println("Setor: " + funcionario2.getSetor());
		System.out.println("Idade: " + funcionario2.calcularIdade(1996.0));
		System.out.println("+============================================================+");
	}
}

image

F

obrigado amigo ajudou muito

Criado 23 de setembro de 2019
Ultima resposta 25 de set. de 2019
Respostas 2
Participantes 2