Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Referencia

olá apenas para formalizar o meu conhecimento. no meu codigo eu teria

Funcionario sandro = new Funcionario();

mas eu gostaria de acessar um atributo na classe diretor

Funcionario sandro = new Diretor();

quando eu faço essa atribuição "Funcionario sandro = new diretor() " eu não poderia acessar diretamento os atributos a ela(diretor) ??? ou poderia ??? somente se eu tiver outra variavel de acesso posta na classe, como :

  public Diretor refe;

e eu fizesse

 sandro.refe.tenis = "adidas";

"tenis " é a variavel que eu quero acessar.

E quando eu possuo

Funcionario sandro = new Diretor();

significa que o sandro possui acesso ao diretor ??

Ainda estou com um pouco de duvidas, muito obrigado pela atenção

1 resposta
solução!

Bom dia, quando você tem esse tipo de instânciação você está dizendo que sandro É um objeto do tipo Diretor, e nesse caso se Diretor é derivado de Funcionario. Para você ter acesso as propriedades do objeto Diretor você precisaria fazer um casting ou explicitamente dizer que sandro é um Diretor.

Funcionario sandro = new Diretor();

((Diretor)sandro).tenis = "adidas";

ou

Funcionario sandro = new Diretor();

Diretor sandroDiretor = sandro as Diretor;

sandroDiretor.tenis = "adidas";

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software