cami-la / Aprendendo_POO_de_uma_vez_por_todas_test

36 stars 3 forks source link

Tipos de instancias #1

Open pedrobme opened 1 year ago

pedrobme commented 1 year ago

class Funcionario {} class Gerente extends Funcionario {}

Vi em uma aula(não sua) que você pode instanciar um Objeto da classe Gerente de duas formas: Funcionario nome = new Gerente(); Gerente nome = new Gerente();

Qual seria a difereça entre os dois objetos? Os dois têm acessos aos métodos da Classe pai Funcionario?

cami-la commented 1 year ago

Boa pergunta, @pedrobme.

Você entende que a partir do momento que você faz class Gerente extends Funcionario {} a class Gerente herda todas as funcionalidades/atributos public e protected de Funcionário, ok?

Screenshot from 2023-03-18 21-25-00

Partindo deste entendimento, podemos concluir o seguinte:

  1. Funcionario gerente1 = new Gerente(); É um gerente. Porém, só tem acesso as funcionalidades de Funcionário que foram compartilhadas com Gerente.

  2. Gerente gerente1 = new Gerente(); É um gerente, Porém, tem acesso as funcionalidades de Funcionário que foram compartilhadas com Gerente e as da própria classe Gerente.

pedrobme commented 1 year ago

Perfeita explicação Cami, muito obrigado! 😄