Skip to content

Latest commit

 

History

History

06-Avancando-POO

Avançando com Orientação a Objetos com PHP: Herança, Polimorfismo e Interfaces

Avançando em Programação Orientada a Objetos com PHP, aprendendo sobre Polimorfismo e Interfaces.

O que foi aprendido durante o curso?

Aula 1: Herança

  • O que é herança.
  • Como a herança pode auxiliar com duplicação de código.
  • Para acessar um membro da classe mãe, utilizamos parent.
  • Modificador de acesso protected.

Aula 2: Namespace e Autoload

  • Separar classes em namespaces, assim como separamos arquivos em pastas.
  • Separando as classes em namespaces podemos ter classes com o mesmo nome em namespaces diferentes.
  • Utilizando um namespace raiz (chamado de vendor namespace em algumas literaturas) podemos evitar conflitos com classes de pacotes externos.
  • Para utilizar uma classe precisamos importá-la utilizando use ou informar seu nome completo (com namespace) em todos os locais onde ela for utilizada.
  • Através de um autoloader com o PHP (spl_autoload_register) podemos evitar ficar utilizando require para incluir todos os arquivos necessários para executar o programa.

Aula 3: Classes e métodos abstratos

  • Entendemos que podemos ter classes que ainda não estão prontas para serem instanciadas e precisam ser estendidas (classes abstratas);
  • Conhecemos também os métodos abstratos, que são uma forma de "obrigar" que classes filhas implementem determinado método;
  • Vimos que apenas classes abstratas podem ter métodos abstratos;

Aula 4: Polimorfismos

  • Aprendemos os 4 pilares da orientação a objetos:
    1. Abstração
    2. Encapsulamento
    3. Herança
    4. Polimorfismo
  • Vimos que a mesma referência pode se comportar de diversas formas dependendo do contexto.
  • Reforçamos nosso conhecimento sobre herança criando diversas novas classes.
  • Aprendemos o conceito de uma classe de serviço, que representa uma funcionalidade ao invés de representar um modelo de nosso domínio.

Aula 5: Interfaces

  • Entendemos o conceito de herança múltipla e o porquê de muitas linguagens (PHP inclusive) não a permitirem.
  • Utilização de interfaces.
  • Aprendemos que no fundo, interfaces são apenas classes abstratas que contém apenas métodos abstratos.

Aula 6: Métodos mágicos

  • O que são os métodos mágicos no PHP.
  • Aprendemos a implementar o __toString e o __get.
  • Conhecemos as traits.

Professor e aluno

Professor Aluno
Foto do professor Foto do aluno
Vinicius Dias Djoni Bourscheid