Curso de PHP Orientado a Objetos – Parte 7

Slide1Sétimo artigo do curso de PHP Orientado a Objetos. Neste artigo veremos constantes, propriedades estáticas e métodos estáticos.

Para conhecer as demais partes, clique aqui.Este é o sétimo artigo do curso de PHP Orientado a Objetos.

Ao final deste artigo, você será capaz de:
  • Entender o conceito de constantes na POO;
  • Entender o conceito de propriedades estáticas;
  • Entender o conceito de métodos estáticos.
As classes permitem armazenar valores de duas formas: constantes de classe e propriedades estáticas. Estes atributos são comuns em todos os objetos da mesma classe.

Constantes

 

Primeiro vamos definir o que é constante.
Uma constante é exatamente o oposto de uma variável, ou seja, algo que mantém seu valor até o final do script (salvo alguma exceções). Geralmente definimos uma constante perto do início do código ou em uma função.
A declaração de constantes é feita através da palavra-chave const. Para acessar constantes de classe fora do escopo dela, a seguinte notação é utilizada NomeClasse::Constante; e já dentro da classe, utilizamos a notação self::Constante. A palavra-chave self também pode ser utilizada para referenciar a própria classe.

Vamos analisar:

 

Perceba que acessamos a constante Pi tanto pela sintaxe: Funcoes::Pi, quanto pela sintaxe: parent::Pi.
Lembre-se que parent se refere a classe-pai. E Pi é da classe-pai de Aplicação. Self refere-se a classe em questão. 

Propriedades e métodos estáticos

Podemos considerar que propriedades e métodos estáticos podem ser acessados sem a necessidade de instanciar um objeto. Utilizamos este recurso quando, por exemplo, temos um método que é acessado diversas vezes na mesma aplicação, e queremos economizar algumas linhas de código a fim de não ter que criar um objeto a todo momento. É importante destacar que um método estático não pode fazer referencia a propriedades internas pelo operador $this, pois este operador é usado para referenciar instâncias da classe ou seja, objetos.

Utilizamos a palavra chave static para definir a declaração de membros estáticos.

Vamos ao exemplo:

Membros estáticos também podem ser acessados internamente utilizando o operador self (o mesmo que vimos anteriormente), veja:

Quando se tratar de uma subclasse herdando propriedades ou mesmo métodos estáticos, a referência é feita normalmente através da palavra reservada parent, como já vimos anteriormente.
No próximo artigo estudaremos os relacionamentos: Composição, agregação e associação. Veremos na prática quando ocorre cada um deles e sua utilização no PHP.
Utilize o espaço de comentários para dúvidas, sugestões e elogios.

Até a próxima.


5 Responses to Curso de PHP Orientado a Objetos – Parte 7

  1. Marcos Xavier disse:

    Muito bom como nos posts anteriores

  2. Continua tendo um ótimo conteúdo. Só achei que precisou descrever um pouco mais cada palavra reservada.

  3. Henco disse:

    no meu deu um erro na linha 6:
    Fatal error: Undefined class constant ‘propriedade’ in C:wampwwwPHP – Orientado a ObjetosclassesTeste.class.php on line 6

  4. Mário Marques disse:

    Henco esse erro acontece por causa disto

    lá em cima tens:
    return self::propriedade;

    mas para ficar correto tens de colocar:
    return self::$propriedade;

    e na última linha de código falta também um echo em antes de : Teste::UsarMetodoRetorna();

  5. Enistay disse:

    Uma dica é refazer prestando muita atenção no código! Valeu, muito bom o curso!

Deixe uma resposta para Mário Marques Cancelar resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *