Pular para o conteúdo

PHP5 Orientado a Objetos: Visibilidade, herança e extensões de classes

Este artigo tratará sobre visibilidade, herança e extensão de classes (PHP Orientado a Objetos) com uma linguagem simples e de fácil entendimento, voltada principalmente para aqueles que desejam iniciar sua aventura no PHP-OO.
EVERTON DA ROSA everton3x
Hits: 36.569 Categoria: PHP Subcategoria: Metodologias
  • Indicar
  • Impressora
  • Denunciar

Introdução

Com o PHP5 o programador passou a contar com Orientação a Objeto (OO) real, pois no PHP4 e inferiores a OO era apenas "simulada".

Uma das funcionalidades oferecidas pela OO do PHP5 (PHP5-OO) é a extensão de classes, muito útil para acrescentar e modificar funcionalidades de classes sem mexer diretamente no código delas.

Diretamente relacionada com a extensão de classes são os conceitos de visibilidade e de herança, funcionalidades também essenciais para quem quer trabalhar com OO no PHP5.

Este artigo aborda os temas de extensão de classes, herança e visibilidade, procurando expor os seus conceitos e aplicações numa linguagem simples e fácil de entender, voltada principalmente para aqueles usuários que estão ingressando neste campo.

A metodologia utilizada será a de apresentar conceitos e a teoria básica sobre cada assunto, seguida de exemplos de utilização com comentários sobre cada etapa.

Inicialmente estudaremos a questão da visibilidade de propriedades e de métodos, utilizando também exemplos com comentários.

Depois abordaremos a extensão de classes com a adição de métodos e propriedades, explicando o que é e para que serve, seguida de exemplo de utilização.

Como sugestão, aconselha-se a leitura do artigo introdutório (e seus comentários) sobre PHP5-OO, publicado aqui no VOL no link:
Uma importante ressalva:

Este artigo é voltado para iniciantes e visa apresentar conceitos e aplicações básicas, não sendo escopo principal a aplicação de qualquer metodologia ou prática de programação específica.

Bom estudo a todos.

   1. Introdução
   2. Começando a entender visibilidade
   3. Primeiros passos na visibilidade de métodos
   4. Estendendo classes
   5. Conhecendo mais a extensão de classes
   6. Resumo e conclusão

Considerações sobre as distribuições

PHP Orientado a Objetos: Para quem está começando

SLiM: Simple Login Manager - Mini review

Qual o valor de seu trabalho

SliTaz: Mini-review desta mini-distribuição Linux

Engenharia de Software - Fazer melhor o software e fazer o software melhor

Criando um ambiente de desenvolvimento web livre com Eclipse e PHP

Usando Blocos Dinâmicos com a Classe FastTemplate (Parte 2)

Administrando usuários no GNU/Linux e Samba via web com PHP

Usando Blocos Dinâmicos com a Classe FastTemplate (Parte 1)

#1 Comentário enviado por removido em 08/06/2009 - 15:44h
Muito bom o artigo Everton, está de parabéns!
#2 Comentário enviado por will fernando em 11/07/2009 - 09:16h
Muito bom ! Parabéns !
#3 Comentário enviado por wm em 16/07/2009 - 07:16h
excelente artigo
#4 Comentário enviado por henbran em 26/05/2010 - 08:53h
Bom Dia.
ESTOU COM UMA DÚVIDA EM HERANÇA EXTENDS

tenho 1 classe:
___________________________________
class A{
public function funcaoA(){
//detalhes
}
}
ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº

Então tenho outra classe:
___________________________________
class B extends A{
public function funcaoA(){
//detalhes
}
}
¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
Quando tento instanciar a classe B, sendo estendida da classe A, não instancia.
ex. $instanciaB = new B(); // não funciona.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Se tiro o extends A da declaração da classe B (ficando assim: class B{ ... }), então instancia.
................................................................................................................
Já cheguei a testar todas as classes vazias, tentando saber se haveria algo de errado com as functions, porém mesmo assim continua no mesmo problema.
*******************************************************************************************
POR FAVOR, COMO EU DEVERIA FAZER ENTÃO???
#5 Comentário enviado por concurso em 08/10/2012 - 13:29h
Incrível o conteúdo, bem elaborado e explicado!

Estou iniciando na prática em php, espero que dê tudo certo.rs

Tem mais conteúdo de php elaborado por ti?
#6 Comentário enviado por everton3x em 18/10/2012 - 08:40h
Obrigado pelo comentário concurso.
Tem mais material sim. É só procurar na lista de artigos do meu perfil http://www.vivaolinux.com.br/perfil/verPerfil.php?login=everton3x

Contribuir com comentário

Entre na sua conta para comentar.