Pessoal, estou pondo em prática alguns exercicios da caelum(fj-11), porém, também crio os meus próprios exercicios, com outros assuntos.
A descrição é a seguinte:
Estou criando Funcionarios, que extendem a classe Pessoa, para a seguir criar a classe Empresa com uma List de funcionarios.
Minha classe Pessoa possui apenas String nome e int idade, e a classe Funcionarios possui uma String cargo.
Porém ao tentar declarar com polimorfismo, eu acabo por não conseguir setar o cargo, acho que devo ter exagerado no encapsulamento,
Segue o código:
package com.caelum.testeListaObjetos;
public class Pessoa {
private String nome;
private int idade;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
}
package com.caelum.testeListaObjetos;
public class Funcionario extends Pessoa {
private String cargo;
public void setCargo(String cargo){
this.cargo = cargo;
}
public String getCargo(){
return cargo;
}
}
package com.caelum.testeListaObjetos;
public class Testar {
public static void main(String[] args) {
Pessoa p1 = new Funcionario();
p1.setNome("João");
p1.setIdade(25);
p1.setCargo("Diretor"); // Aqui eu não consigo setá-lo
}
}
Alguém poderia abrir meus olhos para onde estou errando?
Desde já obrigado