Orientação a Objetos – Part II
Revisão

●   Objetos: dados + métodos
●   Contrutores
●   Restrições: private, protected, default e public
●   Acessores: getters e setters
●   Encapsulamento
●   Conceito: tem um, tem muitos (Ex.: Empresa, Funcionario)
Herança

●   Aproveitar código
●   Estender funcionalidades
●   Exemplos: Operador e Gerentes estendem Funcionario
●   SuperClasse: Funcionario
●   SubClasse: Gerente e Operario
Sobrescrever o metodo

●   Sobrescrever, reescrever, ou do inglês override
●   Bonificação diferenciada
Polimorfismo

●   Variavel do tipo Funcionario não guarda um objeto
    Funcionario, mas sim uma referencia ao objeto.
●   Na herança vimos que todo Gerente é um Funcionario.



●   Polimorfismo é a capacidade de um objeto poder ser
    referenciado de várias formas.
●   ATENÇÃO!!
●   Objeto não se transforma, ele “nasce” e “morre” do mesmo
    tipo, o que muda é como podemos referencia-lo.
Abstração

●   Podemos declarar que uma classe é abstrata quando não
    faz sentido podermos instancia-la.
●   Exemplo, temos a classe Pessoa e as classes PessoaFisica
    e PessoaJuridica, que estendem Pessoa. Não faria sentido
    poder instanciar Pessoa.
●   Métodos também podem ser abstratos (somente se classe
    for abstrata)
●   Quando usar?
Duvidas?

5 oo-avançado

  • 1.
  • 2.
    Revisão ● Objetos: dados + métodos ● Contrutores ● Restrições: private, protected, default e public ● Acessores: getters e setters ● Encapsulamento ● Conceito: tem um, tem muitos (Ex.: Empresa, Funcionario)
  • 3.
    Herança ● Aproveitar código ● Estender funcionalidades ● Exemplos: Operador e Gerentes estendem Funcionario ● SuperClasse: Funcionario ● SubClasse: Gerente e Operario
  • 4.
    Sobrescrever o metodo ● Sobrescrever, reescrever, ou do inglês override ● Bonificação diferenciada
  • 5.
    Polimorfismo ● Variavel do tipo Funcionario não guarda um objeto Funcionario, mas sim uma referencia ao objeto. ● Na herança vimos que todo Gerente é um Funcionario. ● Polimorfismo é a capacidade de um objeto poder ser referenciado de várias formas. ● ATENÇÃO!! ● Objeto não se transforma, ele “nasce” e “morre” do mesmo tipo, o que muda é como podemos referencia-lo.
  • 6.
    Abstração ● Podemos declarar que uma classe é abstrata quando não faz sentido podermos instancia-la. ● Exemplo, temos a classe Pessoa e as classes PessoaFisica e PessoaJuridica, que estendem Pessoa. Não faria sentido poder instanciar Pessoa. ● Métodos também podem ser abstratos (somente se classe for abstrata) ● Quando usar?
  • 7.