OOP (in portuguese)

50 %
50 %
Information about OOP (in portuguese)

Published on July 29, 2007

Author: bpedro

Source: slideshare.net

Description

Object Oriented Programming in PHP5

OOP em PHP PHP Summer School - 18 de Julho de 2007 Bruno Pedro <bpedro@computer.org>

PHP Summer School Conteúdo • Conceitos de OOP • Design Patterns • Frameworks • Exercícios • Resumo OOP em PHP 2

PHP Summer School Classe • Descrição de um conjunto de objectos semelhantes • Identificador de objectos que partilham os mesmos atributos sobre os quais podem ser realizadas as mesmas operações in Ramos, P., (2006).“Desenhar Bases de Dados com UML”. Edições Sílabo OOP em PHP 3

PHP Summer School Classe • Atributos comuns a um grupo de objectos Porta tipo de fechadura altura cor largura estado tipo de puxador fonte: http://tinyurl.com/2yp9e7 OOP em PHP 4

PHP Summer School Classe • Notação UML nome da classe Porta altura largura cor atributos tipo de fechadura tipo de puxador estado OOP em PHP 5

PHP Summer School Atributos • Podem ser públicos, privados ou protegidos • Podem ter valores pré-definidos Porta atributo público valor pré-definido +altura = 200 +largura = 150 +cor = 'azul' atributo privado -tipo de fechadura +tipo de puxador +estado OOP em PHP 6

PHP Summer School Classe em PHP início de script PHP definição da classe atributos fim de script PHP OOP em PHP 7

PHP Summer School Classe • Operações realizáveis por ou sobre um grupo de objectos Porta encosta abre fecha bate tranca destranca fonte: http://tinyurl.com/2lgamj OOP em PHP 8

PHP Summer School Classe • Notação UML nome da classe Porta altura largura cor atributos tipo de fechadura tipo de puxador estado abre() fecha() operações ou métodos tranca() destranca() encosta() bate() OOP em PHP 9

PHP Summer School Métodos • Podem ser públicos, privados ou protegidos • Podem ter parâmetros e devolver resultados Porta altura largura cor tipo de fechadura tipo de puxador estado método público +abre() +fecha() +tranca() método privado parâmetro -destranca(chave) +encosta() +bate() OOP em PHP 10

PHP Summer School Classe em PHP nome da classe atributos atributo privado métodos OOP em PHP 11

PHP Summer School Classe em PHP métodos método privado OOP em PHP 12

PHP Summer School Objecto • Instanciação da classe • Define uma entidade com características e comportamentos próprios OOP em PHP 13

PHP Summer School Objecto em PHP definição da classe instanciação OOP em PHP 14

PHP Summer School Constructor • Método especial • É executado quando o objecto é instanciado constructor OOP em PHP 15

PHP Summer School Constructor (cont.) parâmetro de entrada lógica gravação do estado instanciação com parâmetro OOP em PHP 16

PHP Summer School Herança • Especialização de uma classe de objectos OOP em PHP 17

PHP Summer School Herança • Notação UML Porta PortaDeCarro PortaDeElevador PortaDeComboio OOP em PHP 18

PHP Summer School Herança em PHP classe base herança método só disponível na classe herdada OOP em PHP 19

PHP Summer School Interface • Não implementa métodos • Define métodos que serão utilizados em implementações • Obriga classes herdadas a seguirem a definição OOP em PHP 20

PHP Summer School Interface em PHP definição de interface implementação OOP em PHP 21

PHP Summer School Classe abstracta • Não pode ser instanciada • Serve para ser herdada por outras classes • Contém código que poderá ser reutilizado • Código poderá ser sobreposto pela classe herdada OOP em PHP 22

PHP Summer School Classe abstracta em PHP definição da classe abstracta sobreposição de um método OOP em PHP 23

PHP Summer School Sobrecarga (Overloading) • De atributos e métodos • Executado sempre que um atributo ou método não existem • Possibilidade de execução de código arbitrário • Possibilidade de criar default methods OOP em PHP 24

PHP Summer School Sobrecarga de atributos void __set ( string $name, mixed $value ) mixed __get ( string $name ) bool __isset ( string $name ) void __unset ( string $name ) OOP em PHP 25

PHP Summer School Sobrecarga de atributos array de atributos métodos de sobrecarga código de teste OOP em PHP 26

PHP Summer School Sobrecarga de métodos mixed __call ( string $name, array $arguments ) método de sobrecarga código de teste OOP em PHP 27

PHP Summer School Associação Porta Fechadura • Associa vários objectos • Permite referenciar objectos a partir de outros OOP em PHP 28

PHP Summer School Associação em PHP classe a ser associada associação OOP em PHP 29

PHP Summer School Iteração • Percorre todos os atributos públicos de um objecto • Utiliza statements básicos de PHP • Permite alterar o comportamento da iteração através do Interface Iterator OOP em PHP 30

PHP Summer School Iteração em PHP atributos escreve nome e valor dos atributos públicos OOP em PHP 31

PHP Summer School Design Patterns • Singleton • Factory Method OOP em PHP 32

PHP Summer School Singleton • Garante que só existe uma única instância de uma classe • A instanciação faz-se de um modo diferente • O objecto instanciado tem todas as características de um objecto normal OOP em PHP 33

PHP Summer School Singleton atributo estático que guardará o objecto Porta ... -instance = null ... o constructor é privado -__construct() +getInstance() : Porta devolve sempre a mesma instância do objecto OOP em PHP 34

PHP Summer School Singleton atributo estático que guardará o objecto o constructor é privado devolve sempre a mesma instância do objecto OOP em PHP 35

PHP Summer School Factory Method • Gere a instanciação de objectos • O programador não precisa saber qual a classe que deve instanciar • Produz objectos de acordo com parâmetros de entrada OOP em PHP 36

PHP Summer School Factory Method • Notação UML PortaDeCasa Porta devolve PortaDeElevador instância de +factory() uma das classes PortaDeComboio OOP em PHP 37

PHP Summer School Factory Method verifica se a classe existe e devolve uma instância OOP em PHP 38

PHP Summer School Frameworks • Conjuntos de classes • Oferecem funcionalidades importantes • autenticação • acesso a bases de dados • cache • Implementam Design Patterns OOP em PHP 39

PHP Summer School Frameworks • PEAR - http://pear.php.net/ • Zend Framework - http://framework.zend.com/ • Symfony - http://www.symfony-project.com/ • CakePHP - http://www.cakephp.org/ OOP em PHP 40

PHP Summer School Exercício 1 • Implementação de uma Calculadora • operações aceitam 2 operandos: (x,y) • últimos valores (x,y) são guardados em memória • últimos valores podem ser obtidos através de método específico OOP em PHP 41

PHP Summer School UML Calculadora -x últimos valores utilizados -y +soma(x, y) operações +multiplica(x, y) +ultimosValores() obtenção dos últimos valores OOP em PHP 42

PHP Summer School Implementação OOP em PHP 43

PHP Summer School Exercício 2 • Estender a Calculadora • permitir N operações • iniciar a calculadora indicando quais as operações pretendidas OOP em PHP 44

PHP Summer School UML Calculadora <<interface>> 0..1 -x Operacao * -y +gravaValores(x, y) +calcula(x, y) +ultimosValores() Soma Multiplicacao +calcula(x, y) +calcula(x, y) OOP em PHP 45

PHP Summer School Implementação interface implementação de duas operações OOP em PHP 46

PHP Summer School Implementação associação a N operações instanciação das operações instanciação da (...) calculadora OOP em PHP 47

PHP Summer School Implementação sobrecarga de métodos invocação da operação pretendida OOP em PHP 48

PHP Summer School Resumo • Classe e Objecto • Atributos e Métodos • Herança, interface e classe abstracta • Sobrecarga, associação e iteração • Singleton e Factory Method OOP em PHP 49

PHP Summer School Questões? OOP em PHP 50

PHP Summer School Mais informação • O meu blog: http://unfoldingtheweb.com/ • PHP Manual: http://www.php.net/ • UML: http://tinyurl.com/yohpad • Gamma, E., (1995). Design Patterns. Boston: Addison-Wesley. OOP em PHP 51

Add a comment

Related pages

OOP (in portuguese) - Technology

Object Oriented Programming in PHP5 ... Docslide.com.br. Upload Login / Signup
Read more

mudcat.org: BS: How do you say Oops in Portuguese?

Subject: RE: BS: How do you say Oops in Portuguese? From: JohnInKansas Date: 27 Nov 13 - 11:23 PM Stadium Collapse At least two people were killed and one ...
Read more

How do you say poop in Portuguese - Answers - The Most ...

poopv. lavar a popa de um navio; (Gíria) cansar, deixar alguém cansado ou sem ar; (Gíria) defecar s.
Read more

oops - Dicionário Inglês-Português (Brasil ...

oops - Online English-Portuguese dictionary ... Está faltando alguma coisa importante ? Notifique-nos a respeito de erros ou sugestões para que possamos ...
Read more

Object-Oriented Design with Python

Summary • This presentation assumes audience have the knowledge of Object-Oriented A & D and emphasize on OOP programming with python • Introduces ...
Read more

Duolingo | Learn Spanish, French, German, Portuguese ...

Learn languages completely free, without ads or hidden charges. It's fun, easy, and scientifically proven.
Read more

Britney Spears Oops!I Did It Again ''HQ'' Legendado - YouTube

Britney Spears Oops!I Did It Again ''HQ'' Legendado. Skip navigation Upload. Sign in. Search. Loading... Close. Yeah, keep it Undo Close.
Read more

Oops! - tradução português – dicionário bab.la ...

Tradução de 'Oops!' e muitas outras traduções em português no dicionário de inglês-português.
Read more

Portugal Forums: Oops, I meant the last comment on the ...

Oops; Oops. I meant the last comment on the first page! Anonymous 23 Fev 2009, ... The Portuguese are mulattos; Racism in Portugal, I dont agree;
Read more