abstract class Funcionario {
private String nome;
private String cpf;
private double salarioBase;
public Funcionario(String nome, String cpf, double salarioBase) {
this.nome = nome;
this.cpf = cpf;
this.salarioBase = salarioBase;
}
public String getNome() {
return nome;
}
public String getCpf() {
return cpf;
}
public double getSalarioBase() {
return salarioBase;
}
public abstract double calcularSalario();
public void exibirDados() {
System.out.println("Nome: " + nome);
System.out.println("CPF: " + cpf);
System.out.println("Salário final: R$ " + String.format("%.2f", calcularSalario()));
}
}
class Desenvolvedor extends Funcionario {
private String linguagemPrincipal;
public Desenvolvedor(String nome, String cpf, double salarioBase, String linguagemPrincipal) {
super(nome, cpf, salarioBase);
this.linguagemPrincipal = linguagemPrincipal;
}
public String getLinguagemPrincipal() {
return linguagemPrincipal;
}
@Override
public double calcularSalario() {
return getSalarioBase() + 1000.00;
}
@Override
public void exibirDados() {
super.exibirDados();
System.out.println("Linguagem principal: " + linguagemPrincipal);
}
}
class Gerente extends Funcionario {
private double gratificacaoDeCargo;
public Gerente(String nome, String cpf, double salarioBase, double gratificacaoDeCargo) {
super(nome, cpf, salarioBase);
this.gratificacaoDeCargo = gratificacaoDeCargo;
}
public double getGratificacaoDeCargo() {
return gratificacaoDeCargo;
}
@Override
public double calcularSalario() {
return getSalarioBase() + gratificacaoDeCargo;
}
@Override
public void exibirDados() {
super.exibirDados();
System.out.println("Gratificação de cargo: R$ " + String.format("%.2f", gratificacaoDeCargo));
}
}
public class Main {
public static void main(String[] args) {
Funcionario dev = new Desenvolvedor("Natali Lima", "123.456.789-00", 5000.00, "Java");
Funcionario gerente = new Gerente("Carlos Silva", "987.654.321-00", 8000.00, 2500.00);
System.out.println("=== Desenvolvedor ===");
dev.exibirDados();
System.out.println();
System.out.println("=== Gerente ===");
gerente.exibirDados();
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: