Orientação a objetos com PHP

622 visualizações

Publicada em

Aula sobre o uso de orientação a objetos em PHP. Utilizada no curso de extensão em desenvolvimento em Nuvem com PHP do curso técnico em informática do IFPE - Campus Garanhuns.

Publicada em: Educação
1 comentário
2 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
622
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
44
Comentários
1
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • A definição de se construtoressãométodosounãovariam entre autores
  • Éobrigatórioque a classepaisejadeclaradaouincluida antes da classefilho
  • Orientação a objetos com PHP

    1. 1. Orientação a objetos com PHP Prof. Leonardo Soares Campus Garanhuns
    2. 2. Softwares orientado a objetosOrientação a objetos é um paradigma computacional quepropõe uma metodologia para construção de softwareA base deste paradigma está em associar o domínio doproblema do software à objetos que se relacionam, similar anossa realidePHP desde a versão 5 oferece suporte completo a orientação aobjetos
    3. 3. Suporte do PHP a O.O.Classes e objetosMétodos, controle de visibilidadeHerança, interfaces, classes e métodos abstratosPonteiro thisDentre outros recursos específicos do PHP
    4. 4. Declaração de classesClasses são a base para orientação a objetos, elas representamalgum domínio do problema de nosso softwareAssim como no Java e em outras linguagens a declaração de umaclasse começa pela palavra classEm geral criamos um arquivo .php para cade classe
    5. 5. ExercícioVamos transformar em orientado a objetos nossosistema de cadastro de cursosDeclarem uma classe para representar um curso daescola
    6. 6. Construtores e destrutoresSão um tipo especial de “métodos” que são invocados quandoum objeto é instanciado ou deletadoOs utilizamos para iniciar recursos e atributos (construtor) eliberar recursos quando não mais necessários (destrutor)Para construtores utilizamos a sintaxe __construct e __destructAntes do PHP5 havia a possibilidade de utilizar construtores como mesmo nome da classe, porém isto está deprecated
    7. 7. ExercícioImplementem o construtor para a nossa classe Curso
    8. 8. Atributos de classesAtributos são usados para definir a estrutura de uma classeValores para estes atributos definem estados para um objetoEstes atributos podem ser inicializados com um valor pré-definidoCaso observem a declaração de variáveis precedida pela palavravar, não se assustem equivale a declaração public e está emdesusoO construtor da classe também pode ser usado para inicializaros valores destes atributos
    9. 9. ExercícioAdicionem os atributos/propriedades nome e cargahorária à nossa classe Curso
    10. 10. Ponteiro $thisQuando precisamos acessar atributos ou métodos de nossasclasses, o fazemos através de uma “pseudo-variável”denominada $thisPara quem vem de Java ou C++, já ouviu falar do ponteiro thisSeu uso em PHP é obrigatório!
    11. 11. Declaração de métodosMétodos são ações ou operações que uma classe poderealizarSua declaração é similar aos das funções que já vimos, excetopela possibilidade de utilizar controles de visibilidade
    12. 12. ExercícioImplementem os métodos gets e setters para a nossaclasse
    13. 13. HerançaHerança permite que relações de similaridade que existe em nossocotidiano posssam ser representadas na orientação a objetosPHP permite o uso de heranças de maneira similar ao Java, ondedeclaramos uma classe pai, em seguida a classe filha e utilizamos ooperador extends para fazer a herança entre elasO acesso a métodos da classe pai é feito através da palavrareservada parent::
    14. 14. Autoloading de classesComo dito anteriormente, em geral, criamos um arquivo .phppara cada classe. Qual o problema com isto?PHP oferece uma forma de evitar a necessidade de múltiplosincludes em uma página, e o chama de Autoloading de classesO autoloading é realizado através de uma função denominada__autoload(nome_classe) Problema!!!
    15. 15. Operador de resolução de escopo ::O acesso a determinadas propriedades e métodos é feito de formadiferente dependendo de como eles tenham sido declaradosPara acesso a métodos declarados em classes pai vimos queutilizamos o operador parent::Para o acesso a atributos constantes utilizamos a sintaxeClasse::atributoPara o acesso a atributos estáticos utilizamso o operador self::sucedido do nome da variável com $
    16. 16. Classes abstratasClasses abstratas não podem ser instanciadas e métodosabstratos não possuem implementaçãoO uso de classes abstratas possibilita um “contrato” entre essasclasses e as classes que irão estendê-lasA declaração de classes abstratas e métodos abstratos é feitaatravés da palavra reservada abstract
    17. 17. InterfacesTambém são usadas como forma de estabelecer umcontratoDiferem de classes abstratas por alguns aspectos: Não podem implementar métodos Não possuem atritubos Possibilitam uma “alternativa” a impossibilidade de herança multiplaPara utilizá-las é usado a palavra reservadaimplements
    18. 18. Muito obrigado!

    ×