You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Programação Orientada a Objetos com PHP - Curso em Vídeo.
POO é um paradigma de programação que utiliza objetos como elementos centrais do desenvolvimento de sistemas. Um objeto é uma instância de uma classe, que pode ser entendida como um modelo de estrutura de dados que contém atributos e métodos.
A programação orientada a objetos é uma forma de programar mais próxima da forma como os humanos entendem o mundo. Nós não pensamos em termos de variáveis e funções, mas sim em termos de objetos e suas relações.
Classe ou Objeto, qual a diferença?
Classe é um modelo, um molde, um projeto a ser seguido. Já o objeto é a representação de uma classe, ou seja, é a materialização de uma classe. Um objeto é uma instância de uma classe, ou seja, é um elemento que foi criado a partir de uma classe.
UML - Unified Modeling Language
A UML é uma linguagem de modelagem que permite representar graficamente um sistema orientado a objetos. Ela é muito útil para visualizar a estrutura de um sistema e facilitar o seu entendimento.
A UML é composta por vários diagramas, sendo que cada um deles representa um aspecto diferente do sistema. Os principais diagramas são:
Diagrama de Classes: Representa a estrutura de classes e objetos do sistema.
Diagrama de Objetos: Representa uma instância de uma classe.
Diagrama de Casos de Uso: Representa os casos de uso do sistema.
Diagrama de Sequência: Representa a interação entre objetos.
Diagrama de Atividades: Representa o fluxo de atividades do sistema.
Diagrama de Componentes: Representa os componentes do sistema.
Diagrama de Implantação: Representa a implantação do sistema.
Diagrama de Estados: Representa os estados de um objeto.
Diagrama de Pacotes: Representa os pacotes do sistema.
Diagrama de Comunicação: Representa a comunicação entre objetos.
Diagrama de Interação: Representa a interação entre objetos.
Diagrama de Tempo: Representa o tempo de execução de um sistema.
Diagrama de Visão Geral de Interação: Representa a interação entre objetos.
Diagrama de Visão Geral de Atividades: Representa o fluxo de atividades do sistema.
Diagrama de Visão Geral de Sequência: Representa a interação entre objetos.
Diagrama de Visão Geral de Comunicação: Representa a comunicação entre objetos.
Diagrama de Visão Geral de Colaboração: Representa a interação entre objetos.
Diagrama de Visão Geral de Estados: Representa os estados de um objeto.
Diagrama de Visão Geral de Componentes: Representa os componentes do sistema.
Diagrama de Visão Geral de Implantação: Representa a implantação do sistema.
Diagrama de Visão Geral de Classes: Representa a estrutura de classes e objetos do sistema.
Diagrama de Visão Geral de Objetos: Representa uma instância de uma classe.
Atributos e Métodos
Atributos são as características de um objeto. Já os métodos são as ações que um objeto pode realizar.
Métodos são funções que definem o comportamento de um objeto. Através deles, podemos definir o que um objeto pode ou não fazer. Por exemplo, um objeto da classe Carro pode ter os métodos acelerar e frear, que definem o comportamento de acelerar e frear do carro.
Encapsulamento
O encapsulamento é um dos pilares da programação orientada a objetos. Ele consiste em esconder partes independentes da implementação, permitindo construir partes invisíveis ao mundo exterior. O encapsulamento serve para proteger os dados, ou seja, só permitir que eles sejam alterados através de métodos específicos.
Público: Atributos e métodos públicos podem ser acessados por qualquer classe.
Protegido: Atributos e métodos protegidos podem ser acessados pela própria classe e por classes que herdam dela.
Privado: Atributos e métodos privados só podem ser acessados pela própria classe.
Herança
A herança é um dos pilares da programação orientada a objetos. Ela permite que uma classe herde atributos e métodos de outra classe. A classe que herda é chamada de subclasse ou classe filha, enquanto a classe que é herdada é chamada de superclasse ou classe mãe.
A herança é muito útil para reaproveitar código, pois evita que tenhamos que escrever o mesmo código várias vezes. Além disso, ela permite que classes filhas possam sobrescrever métodos da classe mãe, o que é muito útil para adaptar o comportamento de um método para uma classe específica.
Polimorfismo
O polimorfismo é um dos pilares da programação orientada a objetos. Ele permite que classes derivadas de uma mesma superclasse tenham métodos iguais (de mesma assinatura) mas comportamentos diferentes.
O polimorfismo é muito útil para reaproveitar código, pois evita que tenhamos que escrever o mesmo código várias vezes. Além disso, ele permite que classes filhas possam sobrescrever métodos da classe mãe, o que é muito útil para adaptar o comportamento de um método para uma classe específica.
Abstração
A abstração é um dos pilares da programação orientada a objetos. Ela consiste em separar as características mais importantes de um objeto, ignorando características menos importantes.
Metodos especiais
Métodos especiais são métodos que possuem um significado especial para a linguagem. Eles são muito utilizados para implementar funcionalidades que não podem ser implementadas com métodos comuns.
Os métodos especiais são identificados por começarem e terminarem com dois underlines, como por exemplo o método __construct. Eles também são chamados de métodos mágicos.
Os métodos especiais mais utilizados são:
__construct: Método executado automaticamente quando um objeto é instanciado.
__destruct: Método executado automaticamente quando um objeto é removido.
__get: Método executado automaticamente quando uma propriedade é acessada.
__set: Método executado automaticamente quando uma propriedade é definida.