Programação Orientada á Objeto - Paradigmas e Implementação

Preview:

Citation preview

PROGRAMAÇÃO ORIENTADA A OBJETO

(Paradigmas e Implementação)

www.evandrojunior.pro.br evandrojunior21@gmail.com

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 evandrojunior21@gmail.com

pt.slideshare.net/EvandroJunior

Recommended