SlideShare a Scribd company logo
1 of 18
Orientação a objetos com PHP
         Prof. Leonardo Soares




          Campus Garanhuns
Softwares orientado a objetos


Orientação a objetos é um paradigma computacional que
propõe uma metodologia para construção de software
A base deste paradigma está em associar o domínio do
problema do software à objetos que se relacionam, similar a
nossa realide
PHP desde a versão 5 oferece suporte completo a orientação a
objetos
Suporte do PHP a O.O.


Classes e objetos
Métodos, controle de visibilidade
Herança, interfaces, classes e métodos abstratos
Ponteiro this
Dentre outros recursos específicos do PHP
Declaração de classes


Classes são a base para orientação a objetos, elas representam
algum domínio do problema de nosso software
Assim como no Java e em outras linguagens a declaração de uma
classe começa pela palavra class
Em geral criamos um arquivo .php para cade classe
Exercício


Vamos transformar em orientado a objetos nosso
sistema de cadastro de cursos
Declarem uma classe para representar um curso da
escola
Construtores e destrutores

São um tipo especial de “métodos” que são invocados quando
um objeto é instanciado ou deletado
Os utilizamos para iniciar recursos e atributos (construtor) e
liberar recursos quando não mais necessários (destrutor)
Para construtores utilizamos a sintaxe __construct e __destruct
Antes do PHP5 havia a possibilidade de utilizar construtores com
o mesmo nome da classe, porém isto está deprecated
Exercício


Implementem o construtor para a nossa classe Curso
Atributos de classes


Atributos são usados para definir a estrutura de uma classe
Valores para estes atributos definem estados para um objeto
Estes atributos podem ser inicializados com um valor pré-
definido
Caso observem a declaração de variáveis precedida pela palavra
var, não se assustem equivale a declaração public e está em
desuso
O construtor da classe também pode ser usado para inicializar
os valores destes atributos
Exercício


Adicionem os atributos/propriedades nome e carga
horária à nossa classe Curso
Ponteiro $this


Quando precisamos acessar atributos ou métodos de nossas
classes, o fazemos através de uma “pseudo-variável”
denominada $this
Para quem vem de Java ou C++, já ouviu falar do ponteiro this
Seu uso em PHP é obrigatório!
Declaração de métodos


Métodos são ações ou operações que uma classe pode
realizar
Sua declaração é similar aos das funções que já vimos, exceto
pela possibilidade de utilizar controles de visibilidade
Exercício


Implementem os métodos gets e setters para a nossa
classe
Herança


Herança permite que relações de similaridade que existe em nosso
cotidiano posssam ser representadas na orientação a objetos
PHP permite o uso de heranças de maneira similar ao Java, onde
declaramos uma classe pai, em seguida a classe filha e utilizamos o
operador extends para fazer a herança entre elas
O acesso a métodos da classe pai é feito através da palavra
reservada parent::
Autoloading de classes


Como dito anteriormente, em geral, criamos um arquivo .php
para cada classe. Qual o problema com isto?
PHP oferece uma forma de evitar a necessidade de múltiplos
includes em uma página, e o chama de Autoloading de classes
O autoloading é realizado através de uma função denominada
__autoload(nome_classe)  Problema!!!
Operador de resolução de escopo ::


O acesso a determinadas propriedades e métodos é feito de forma
diferente dependendo de como eles tenham sido declarados
Para acesso a métodos declarados em classes pai vimos que
utilizamos o operador parent::
Para o acesso a atributos constantes utilizamos a sintaxe
Classe::atributo
Para o acesso a atributos estáticos utilizamso o operador self::
sucedido do nome da variável com $
Classes abstratas


Classes abstratas não podem ser instanciadas e métodos
abstratos não possuem implementação
O uso de classes abstratas possibilita um “contrato” entre essas
classes e as classes que irão estendê-las
A declaração de classes abstratas e métodos abstratos é feita
através da palavra reservada abstract
Interfaces


Também são usadas como forma de estabelecer um
contrato
Diferem de classes abstratas por alguns aspectos:
  Não podem implementar métodos
  Não possuem atritubos
  Possibilitam uma “alternativa” a impossibilidade de
  herança multipla
Para utilizá-las é usado a palavra reservada
implements
Muito obrigado!

More Related Content

What's hot

Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Luis Ferreira
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos phpsecomp2011
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosEvandro Agnes
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesRegis Magalhães
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoAnderson Ledo
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoRegis Magalhães
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetosPaulo Carvalho
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosMoises Omena
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemassauloroos01
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
Introdução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIIntrodução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIGuilherme de Cleva Farto
 

What's hot (20)

Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos Módulo 9 - Introdução à Programação Orientada a Objectos
Módulo 9 - Introdução à Programação Orientada a Objectos
 
Paradigma Orientado a Objeto
Paradigma Orientado a ObjetoParadigma Orientado a Objeto
Paradigma Orientado a Objeto
 
Aula 1 6
Aula 1 6Aula 1 6
Aula 1 6
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Fundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetosFundamentos e princípios do projeto orientado a objetos
Fundamentos e princípios do projeto orientado a objetos
 
Java Básico
Java BásicoJava Básico
Java Básico
 
Java 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas InterfacesJava 10 Classes Abstratas Interfaces
Java 10 Classes Abstratas Interfaces
 
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de AcessoUFCG.JCert Reunião 1 - Declarações e Controle de Acesso
UFCG.JCert Reunião 1 - Declarações e Controle de Acesso
 
Java 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita PolimorfismoJava 09 Heranca Reescrita Polimorfismo
Java 09 Heranca Reescrita Polimorfismo
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Java - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a ObjetosJava - Aula 2 - Orientado a Objetos
Java - Aula 2 - Orientado a Objetos
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Orientação a Objetos
Orientação a ObjetosOrientação a Objetos
Orientação a Objetos
 
Modelagem de sistemas
Modelagem de sistemasModelagem de sistemas
Modelagem de sistemas
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
Introdução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection APIIntrodução à Metaprogramação com Java Reflection API
Introdução à Metaprogramação com Java Reflection API
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 

Viewers also liked

Minicurso - Web sites dinâmicos: PHP com orientação a objetos
Minicurso - Web sites dinâmicos: PHP com orientação a objetosMinicurso - Web sites dinâmicos: PHP com orientação a objetos
Minicurso - Web sites dinâmicos: PHP com orientação a objetosMaradona Morais
 
Poster Of Former Movies - Unforgettable films and musics
Poster Of Former Movies - Unforgettable  films  and musicsPoster Of Former Movies - Unforgettable  films  and musics
Poster Of Former Movies - Unforgettable films and musicsDiramar Costa
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
2014 - Desenvolvimento Web - 03 CSS
2014 - Desenvolvimento Web - 03 CSS2014 - Desenvolvimento Web - 03 CSS
2014 - Desenvolvimento Web - 03 CSSWillian Magalhães
 
Curso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLCurso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLWillian Magalhães
 
Web Design - teoria básica das cores
Web Design - teoria básica das coresWeb Design - teoria básica das cores
Web Design - teoria básica das coresLucas Gheller
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educaçãogeysasz
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)George Mendonça
 
2014 - Desenvolvimento Web - 01 Introdução
2014 - Desenvolvimento Web - 01 Introdução2014 - Desenvolvimento Web - 01 Introdução
2014 - Desenvolvimento Web - 01 IntroduçãoWillian Magalhães
 
2014 - Desenvolvimento Web - 02 HTML
2014 - Desenvolvimento Web - 02 HTML2014 - Desenvolvimento Web - 02 HTML
2014 - Desenvolvimento Web - 02 HTMLWillian Magalhães
 
Desenvolvimento orientado a objetos com adianti framework
Desenvolvimento orientado a objetos com adianti frameworkDesenvolvimento orientado a objetos com adianti framework
Desenvolvimento orientado a objetos com adianti frameworkGustavo Emmel
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPablo Dall'Oglio
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPFabio Leal
 
2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps
2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps
2014 - Multimídia e Internet - 04 Imagem Digital - BitmapsWillian Magalhães
 
Curso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLCurso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLWillian Magalhães
 
Curso Photoshop 2009 - Aula 05
Curso Photoshop 2009 - Aula 05Curso Photoshop 2009 - Aula 05
Curso Photoshop 2009 - Aula 05Willian Magalhães
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosGeorge Mendonça
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHPAugusto Pascutti
 

Viewers also liked (20)

Minicurso - Web sites dinâmicos: PHP com orientação a objetos
Minicurso - Web sites dinâmicos: PHP com orientação a objetosMinicurso - Web sites dinâmicos: PHP com orientação a objetos
Minicurso - Web sites dinâmicos: PHP com orientação a objetos
 
Poster Of Former Movies - Unforgettable films and musics
Poster Of Former Movies - Unforgettable  films  and musicsPoster Of Former Movies - Unforgettable  films  and musics
Poster Of Former Movies - Unforgettable films and musics
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
2014 - Desenvolvimento Web - 03 CSS
2014 - Desenvolvimento Web - 03 CSS2014 - Desenvolvimento Web - 03 CSS
2014 - Desenvolvimento Web - 03 CSS
 
Curso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLCurso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTML
 
Web Design - teoria básica das cores
Web Design - teoria básica das coresWeb Design - teoria básica das cores
Web Design - teoria básica das cores
 
Orientação a objetos v2
Orientação a objetos v2Orientação a objetos v2
Orientação a objetos v2
 
Caderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de EducaçãoCaderno de Orientação a Objetos - Secretaria de Educação
Caderno de Orientação a Objetos - Secretaria de Educação
 
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
Uma Abordagem Prática de Orientação a Objetos com PHP (FLISOL DF 2011)
 
2014 - Desenvolvimento Web - 01 Introdução
2014 - Desenvolvimento Web - 01 Introdução2014 - Desenvolvimento Web - 01 Introdução
2014 - Desenvolvimento Web - 01 Introdução
 
2014 - Desenvolvimento Web - 02 HTML
2014 - Desenvolvimento Web - 02 HTML2014 - Desenvolvimento Web - 02 HTML
2014 - Desenvolvimento Web - 02 HTML
 
Desenvolvimento orientado a objetos com adianti framework
Desenvolvimento orientado a objetos com adianti frameworkDesenvolvimento orientado a objetos com adianti framework
Desenvolvimento orientado a objetos com adianti framework
 
PHP: Programando com orientação a Objetos
PHP: Programando com orientação a ObjetosPHP: Programando com orientação a Objetos
PHP: Programando com orientação a Objetos
 
Programação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a ObjetosProgramação Estruturada e Orientada a Objetos
Programação Estruturada e Orientada a Objetos
 
Paradigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHPParadigmas de Linguagens de Programação: Conceitos de PHP
Paradigmas de Linguagens de Programação: Conceitos de PHP
 
2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps
2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps
2014 - Multimídia e Internet - 04 Imagem Digital - Bitmaps
 
Curso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTMLCurso Desenvolvimento WEB com PHP - HTML
Curso Desenvolvimento WEB com PHP - HTML
 
Curso Photoshop 2009 - Aula 05
Curso Photoshop 2009 - Aula 05Curso Photoshop 2009 - Aula 05
Curso Photoshop 2009 - Aula 05
 
PHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e ObjetosPHP 5.3 - Classes e Objetos
PHP 5.3 - Classes e Objetos
 
Orientação a Objetos com PHP
Orientação a Objetos com PHPOrientação a Objetos com PHP
Orientação a Objetos com PHP
 

Similar to Orientação a objetos com PHP

Similar to Orientação a objetos com PHP (20)

Poo padadigmas
Poo padadigmasPoo padadigmas
Poo padadigmas
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 
Herança.pptx
Herança.pptxHerança.pptx
Herança.pptx
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Introdução ao desenvolvimento com PHP
Introdução ao desenvolvimento com PHPIntrodução ao desenvolvimento com PHP
Introdução ao desenvolvimento com PHP
 
Classes objetos
Classes objetosClasses objetos
Classes objetos
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Java7
Java7Java7
Java7
 
Aprendendo C# do zero
Aprendendo C# do zeroAprendendo C# do zero
Aprendendo C# do zero
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Java 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De ClasseJava 08 Modificadores Acesso E Membros De Classe
Java 08 Modificadores Acesso E Membros De Classe
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Programação OO - Java
Programação OO - JavaProgramação OO - Java
Programação OO - Java
 
Mini aula-java
Mini aula-javaMini aula-java
Mini aula-java
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 
Apresentação faef
Apresentação faefApresentação faef
Apresentação faef
 

More from Leonardo Soares

Introdução a linguagem de programação Lua
Introdução a linguagem de programação LuaIntrodução a linguagem de programação Lua
Introdução a linguagem de programação LuaLeonardo Soares
 
Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Leonardo Soares
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnitLeonardo Soares
 
Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Leonardo Soares
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchLeonardo Soares
 
Técnicas de modelagem de testes
Técnicas de modelagem de testesTécnicas de modelagem de testes
Técnicas de modelagem de testesLeonardo Soares
 
Grupo de processos de planejamento - Parte 01
Grupo de processos de planejamento - Parte 01Grupo de processos de planejamento - Parte 01
Grupo de processos de planejamento - Parte 01Leonardo Soares
 
Introdução a testes unitários
Introdução a testes unitáriosIntrodução a testes unitários
Introdução a testes unitáriosLeonardo Soares
 
Grupos de processos de planejamento
Grupos de processos de planejamentoGrupos de processos de planejamento
Grupos de processos de planejamentoLeonardo Soares
 
Gestão de projetos com PMBoK
Gestão de projetos com PMBoKGestão de projetos com PMBoK
Gestão de projetos com PMBoKLeonardo Soares
 
Grupos de processos de iniciação - PMBoK
Grupos de processos de iniciação - PMBoKGrupos de processos de iniciação - PMBoK
Grupos de processos de iniciação - PMBoKLeonardo Soares
 
Introdução a testes de software
Introdução a testes de softwareIntrodução a testes de software
Introdução a testes de softwareLeonardo Soares
 
Introdução a gestão de projetos com PMBoK
Introdução a gestão de projetos com PMBoKIntrodução a gestão de projetos com PMBoK
Introdução a gestão de projetos com PMBoKLeonardo Soares
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHPLeonardo Soares
 
Tratamento de exceções com PHP
Tratamento de exceções com PHPTratamento de exceções com PHP
Tratamento de exceções com PHPLeonardo Soares
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTMLLeonardo Soares
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLLeonardo Soares
 
Uso de imagens e links com HTML
Uso de imagens e links com HTMLUso de imagens e links com HTML
Uso de imagens e links com HTMLLeonardo Soares
 

More from Leonardo Soares (20)

Introdução a linguagem de programação Lua
Introdução a linguagem de programação LuaIntrodução a linguagem de programação Lua
Introdução a linguagem de programação Lua
 
Depuração de software
Depuração de softwareDepuração de software
Depuração de software
 
Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5
 
Introdução a testes unitários com jUnit
Introdução a testes unitários com jUnitIntrodução a testes unitários com jUnit
Introdução a testes unitários com jUnit
 
Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02Grupo de processos de planejamento - Parte 02
Grupo de processos de planejamento - Parte 02
 
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha TouchIntrodução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
Introdução ao desenvolvimento de aplicativos com PhoneGap e Sencha Touch
 
Técnicas de modelagem de testes
Técnicas de modelagem de testesTécnicas de modelagem de testes
Técnicas de modelagem de testes
 
Grupo de processos de planejamento - Parte 01
Grupo de processos de planejamento - Parte 01Grupo de processos de planejamento - Parte 01
Grupo de processos de planejamento - Parte 01
 
Introdução a testes unitários
Introdução a testes unitáriosIntrodução a testes unitários
Introdução a testes unitários
 
Grupos de processos de planejamento
Grupos de processos de planejamentoGrupos de processos de planejamento
Grupos de processos de planejamento
 
Gestão de projetos com PMBoK
Gestão de projetos com PMBoKGestão de projetos com PMBoK
Gestão de projetos com PMBoK
 
Grupos de processos de iniciação - PMBoK
Grupos de processos de iniciação - PMBoKGrupos de processos de iniciação - PMBoK
Grupos de processos de iniciação - PMBoK
 
Introdução a testes de software
Introdução a testes de softwareIntrodução a testes de software
Introdução a testes de software
 
Introdução a gestão de projetos com PMBoK
Introdução a gestão de projetos com PMBoKIntrodução a gestão de projetos com PMBoK
Introdução a gestão de projetos com PMBoK
 
Banco de dadados MySQL com PHP
Banco de dadados MySQL com PHPBanco de dadados MySQL com PHP
Banco de dadados MySQL com PHP
 
Tratamento de exceções com PHP
Tratamento de exceções com PHPTratamento de exceções com PHP
Tratamento de exceções com PHP
 
Introdução ao CSS
Introdução ao CSSIntrodução ao CSS
Introdução ao CSS
 
Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTML
 
Criação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTMLCriação de formulários e tabelas com HTML
Criação de formulários e tabelas com HTML
 
Uso de imagens e links com HTML
Uso de imagens e links com HTMLUso de imagens e links com HTML
Uso de imagens e links com HTML
 

Recently uploaded

ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 

Recently uploaded (20)

ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 

Orientação a objetos com PHP

  • 1. Orientação a objetos com PHP Prof. Leonardo Soares Campus Garanhuns
  • 2. Softwares orientado a objetos Orientação a objetos é um paradigma computacional que propõe uma metodologia para construção de software A base deste paradigma está em associar o domínio do problema do software à objetos que se relacionam, similar a nossa realide PHP desde a versão 5 oferece suporte completo a orientação a objetos
  • 3. Suporte do PHP a O.O. Classes e objetos Métodos, controle de visibilidade Herança, interfaces, classes e métodos abstratos Ponteiro this Dentre outros recursos específicos do PHP
  • 4. Declaração de classes Classes são a base para orientação a objetos, elas representam algum domínio do problema de nosso software Assim como no Java e em outras linguagens a declaração de uma classe começa pela palavra class Em geral criamos um arquivo .php para cade classe
  • 5. Exercício Vamos transformar em orientado a objetos nosso sistema de cadastro de cursos Declarem uma classe para representar um curso da escola
  • 6. Construtores e destrutores São um tipo especial de “métodos” que são invocados quando um objeto é instanciado ou deletado Os utilizamos para iniciar recursos e atributos (construtor) e liberar recursos quando não mais necessários (destrutor) Para construtores utilizamos a sintaxe __construct e __destruct Antes do PHP5 havia a possibilidade de utilizar construtores com o mesmo nome da classe, porém isto está deprecated
  • 7. Exercício Implementem o construtor para a nossa classe Curso
  • 8. Atributos de classes Atributos são usados para definir a estrutura de uma classe Valores para estes atributos definem estados para um objeto Estes atributos podem ser inicializados com um valor pré- definido Caso observem a declaração de variáveis precedida pela palavra var, não se assustem equivale a declaração public e está em desuso O construtor da classe também pode ser usado para inicializar os valores destes atributos
  • 9. Exercício Adicionem os atributos/propriedades nome e carga horária à nossa classe Curso
  • 10. Ponteiro $this Quando precisamos acessar atributos ou métodos de nossas classes, o fazemos através de uma “pseudo-variável” denominada $this Para quem vem de Java ou C++, já ouviu falar do ponteiro this Seu uso em PHP é obrigatório!
  • 11. Declaração de métodos Métodos são ações ou operações que uma classe pode realizar Sua declaração é similar aos das funções que já vimos, exceto pela possibilidade de utilizar controles de visibilidade
  • 12. Exercício Implementem os métodos gets e setters para a nossa classe
  • 13. Herança Herança permite que relações de similaridade que existe em nosso cotidiano posssam ser representadas na orientação a objetos PHP permite o uso de heranças de maneira similar ao Java, onde declaramos uma classe pai, em seguida a classe filha e utilizamos o operador extends para fazer a herança entre elas O acesso a métodos da classe pai é feito através da palavra reservada parent::
  • 14. Autoloading de classes Como dito anteriormente, em geral, criamos um arquivo .php para cada classe. Qual o problema com isto? PHP oferece uma forma de evitar a necessidade de múltiplos includes em uma página, e o chama de Autoloading de classes O autoloading é realizado através de uma função denominada __autoload(nome_classe) Problema!!!
  • 15. Operador de resolução de escopo :: O acesso a determinadas propriedades e métodos é feito de forma diferente dependendo de como eles tenham sido declarados Para acesso a métodos declarados em classes pai vimos que utilizamos o operador parent:: Para o acesso a atributos constantes utilizamos a sintaxe Classe::atributo Para o acesso a atributos estáticos utilizamso o operador self:: sucedido do nome da variável com $
  • 16. Classes abstratas Classes abstratas não podem ser instanciadas e métodos abstratos não possuem implementação O uso de classes abstratas possibilita um “contrato” entre essas classes e as classes que irão estendê-las A declaração de classes abstratas e métodos abstratos é feita através da palavra reservada abstract
  • 17. Interfaces Também são usadas como forma de estabelecer um contrato Diferem de classes abstratas por alguns aspectos: Não podem implementar métodos Não possuem atritubos Possibilitam uma “alternativa” a impossibilidade de herança multipla Para utilizá-las é usado a palavra reservada implements

Editor's Notes

  1. A definição de se construtoressãométodosounãovariam entre autores
  2. Éobrigatórioque a classepaisejadeclaradaouincluida antes da classefilho