programação orientada á objeto - paradigmas e implementação
TRANSCRIPT
PROGRAMAÇÃO ORIENTADA A OBJETO
(Paradigmas e Implementação)
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior
“OO é um modelo computacional, não um
paradigma”
_Alan Kay
É um modelo Computacional!
Que contém paradigmas!
Paradigma Modelo imperativo da realidade; Padrão que permite organizar as idéias.
QUAIS SÃO OS PARADIGMAS DA POO?
PARADIGMAS ESSENCIAIS: Classes e Objetos Atributos e Métodos Herança e Polimorfismo Encapsulamento
Vamos com calma!
Como era antes da POO?
Programação Estruturada
Programação Orientada a Objeto x
Programação Estruturada
Programação Estruturada Consiste na criação de um conjunto de procedimentos (algoritmos) para resolver o problema.
Programação Estruturada A programação estruturada é formada apenas por três estruturas, que são: Sequência, onde uma tarefa é executada logo após a outra; Decisão quando um teste lógico é executado ou não; e Iteração que a partir do teste lógico algum trecho do código pode ser repetido finitas vezes.
Programação Estruturada Seus códigos ficam em um mesmo bloco, sendo mais difícil e demorado fazer uma alteração, pois teremos que olhar se nenhum outro código depende daquele, fazendo uma análise mais detalhada.
É fácil de entender, sendo usada em cursos introdutórios a programação.
P. Estruturada
DADOS GLOBAIS
Procedimento
Procedimento
Procedimento
Dados e Objetos
Método
Método
Dados e Objetos
Método
Método
Voltando a POO
CLASSES
Representa um conjunto de objetos com características afins. Uma classe define o
comportamento dos objetos através de seus
métodos, e quais estados ele é capaz de manter
através de seus atributos.
Exemplo de classe: Os seres humanos
Exemplo de Classe
OBJETO Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele. Exemplo de objetos da classe Humanos: João, José, Maria
Exemplo de Objeto
ATRIBUTOS São características de um objeto. Exemplos: Funcionário: nome, endereço, telefone, CPF,...; Carro: nome, marca, ano, cor, …; Livro: autor, editora, ano.
O conjunto de valores dos atributos de um determinado objeto é chamado de estado.
MÉTODOS Definem as habilidades dos objetos. Exemplo: Bidu é uma instância da classe Cachorro, portanto tem habilidade para latir, implementada através do método de um latido.
HERANÇA É o mecanismo pelo qual uma classe (subclasse) pode estender outra classe (superclasse), aproveitando seus comportamentos (métodos) e variáveis possíveis (atributos). Um exemplo de herança: Mamífero é superclasse de Humano. Ou seja, um Humano é um mamífero. Há herança múltipla quando uma subclasse possui mais de uma superclasse.
Exemplo de Herança
Funcionário
Nome RG Salario
Aumento(valor) Pagamento()
Chefe
Contas Gastos_extra Adicional_chefia
Pagamento_extra()
POLIMORFISMO Polimorfismo = várias formas É o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos.
Exemplo de Polimorfismo Animal
Tipo Cor Peso ...
Comer()
Cachorro
Comer() { “cachorro come ração...” }
Tigre
Comer() { “cachorro come osso...” }
ENCAPSULAMENTO Consiste na separação de aspectos internos e externos de um objeto. Este mecanismo é utilizado amplamente para impedir o acesso direto ao estado de um objeto (seus atributos), disponibilizando externamente apenas os métodos que alteram estes estados. Exemplo: você não precisa conhecer os detalhes dos circuitos de um telefone para utilizá-lo. A carcaça do telefone encapsula esses detalhes, provendo a você uma interface mais amigável.
Exemplo de Encapsulamento
Implementação: Programação
Orientada e Objeto
Exemplo Programação Estruturada
Exemplo Programação Orientada a Objetos
Implementação: Programação Orientada a Objeto em
PHP
Um objeto da classe deve ser instanciado pelo operador new. O operador permite referenciarmos atributos e métodos do objeto.
Lesson: Object-Oriented Programming Concepts (em inglês) Oracle Corporation.
Pablo Dall'Oglio. PHP Programando com Orientação a Objetos: Inclui Design Patterns. 1. ed. São Paulo: Novatec, 2007. 576 pp.
James Martin, Princípios de Análise e Projeto Baseado em Objetos, 1994, Editora Campus.
FABRICA DE SOFTWARE. Disponível em: <http://fabrica.ms.senac.br/2013/04/programacao-estruturada-versus-programacao-orientada-a-objetos/> Acesso em: 15 Dez. 2014.
www.evandrojunior.pro.br [email protected]
pt.slideshare.net/EvandroJunior