420 likes | 633 Views
Treinamento PHP. Módulo 2 PHP Avançado. Waelson Negreiros waelson@gmail.com waelson.com.br. “Está conosco o Senhor dos Exércitos”. Agenda. Introdução a POO Conceitos da OO. Introdução a POO. O que é POO? POO – Programação Orientada a Objeto Em inglês, OOP Object - Oriented Programming
E N D
Treinamento PHP Módulo 2PHP Avançado Waelson Negreiros waelson@gmail.com waelson.com.br “Está conosco o Senhor dos Exércitos”
Agenda • Introdução a POO • Conceitos da OO
Introdução a POO • O que é POO? • POO – Programação Orientada a Objeto • Em inglês, OOP Object-Oriented Programming • Paradigma utilizado em análise, projeto e programação de sistemas • Modelagem Orientada a Objeto.
Introdução a POO • O que é POO? • POO – Programação Orientada a Objeto • Em inglês, OOP Object-Oriented Programming • Paradigma utilizado em análise, projeto e programação de sistemas • Modelagem Orientada a Objeto.
Introdução a POO • Objetivo da POO • Abstrair conceitos e domínios do mundo real e representá-los no mundo da programação de computadores;
Introdução a POO • Abstração
Introdução a POO • Abstração
Introdução a POO • História da POO • Melhor representação do “mundo real” • Modularidade • Reusabilidade • Produtividade • Manutenibilidade
Introdução a POO • História da POO • Surgiu no meio acadêmico; • 1967 – Simula 67 (Noruega) • 1980 – Smalltalk (objetivos comerciais e acadêmicos) • 1980 – Objective C, C++ e Eiffel
Introdução a POO • Linguagem Orientadas a Objeto • PHP • Java • Ruby • C++ • Smalltalk • C# • Delphi • Eiffel • Ada 95 • IO
Conceitos da OO • São eles: • Classe • Objeto • Atributo • Métodos • Encapsulamento • Herança • Abstração • Polimorfismo • Interface
Conceitos da OO • Classes • Unidade básica da programação OO; • Define o comportamento e características de um objeto • Exemplo de classe: Cachorro
Conceitos da OO • Classes
Conceitos da OO • Objeto • Instância de uma classe; • Tem a capacidade de armazenar estados e reagir a mensagens enviadas; • Exemplo de objetos da classe Seres humanos: Vira-Lata e Puddle
Conceitos da OO • Objeto
Conceitos da OO • Objeto
Conceitos da OO • Objeto
Conceitos da OO • Atributos • Característica de um objeto • Exemplo • Cor do pêlo • Raça • Altura • Peso
Conceitos da OO • Atributos
Conceitos da OO • Método • Representam os comportamentos
Conceitos da OO • Método
Conceitos da OO • Encapsulamento • É o processo de esconder detalhes de implementação de uma classe, deixando para o seu usuário apenas uma interface de interação
Conceitos da OO • Encapsulamento • Visibilidade • (-) private • (#) protected • (+) public • Regra Básica • Todos os atributos de uma classe devem ser do tipo private.
Conceitos da OO • Encapsulamento • (-) private • Só pode ser acessada dentro do escopo de classe • (#) protected • Só podem ser acessadas dentro do escopo da própria classe ou de classes filhas • (+) public • Não possue restrição pode ser acessada por qualquer classe.
Conceitos da OO • Encapsulamento
Conceitos da OO • Encapsulamento
Conceitos da OO • Herança • É o mecanismo pela qual uma classe pode estender outra, podendo assim aproveitar seus comportamento (métodos) e características (atributos). • PHP não suporta herança múltipla
Conceitos da OO • Herança
Conceitos da OO • Herança
Conceitos da OO • Herança
Conceitos da OO • Herança – Representação em UML
Conceitos da OO • Herança
Conceitos da OO • Herança
Conceitos da OO • Herança
Conceitos da OO • Construtores e Destrutores • São métodos especiais que respectivamente são invocados para inicializar uma classe e destruí-la.
Conceitos da OO • Construtores e Destrutores
Conceitos da OO • Construtores e Destrutores
Conceitos da OO • Propriedade e Métodos Estáticos • Característica que permite o acesso a propriedade e métodos de uma classe sem precisar instanciá-la.
Conceitos da OO • Propriedade e Métodos Estáticos
Conceitos da OO • Propriedade e Métodos Estáticos
Conceitos da OO • Linguagens Puramente OO • Smalltalk • Eiffel • IO
Bibliografia • http://www.guiadohardware.net/artigos/programacao-orientada-objetos/ • http://pt.wikipedia.org/wiki/POO • http://pt.wikipedia.org/wiki/Gap_sem%C3%A2ntico • http://www.lozano.eti.br/palestras/oo-php.pdf