![]() |
| imagem meramente ilustrativa |
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:
/* Vamos declarar uma
* constante chamada pi
*/
class Funcoes{
const Pi = 3.14;
}
/* Vamos herdar Funcoes
* e criar outra constante
*/
class Aplicacao extends Funcoes{
const Versao = 3.8;
function __construct($Nome){
echo $Nome. "< br/>";
echo self::Versao . "< br />";
echo parent::Pi . "< br />";
echo Funcoes::Pi . "< br />";
}
}
$sistema1 = new Aplicacao("CafeeSoftware");
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.
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:
class Teste{
public static $propriedade = "Esta é uma propriedade estática";
public static function MetodoEstatico(){
echo "Este é um método estático";
}
}
/* Para acessar é simples,
* perceba que não é necessário
* criar o objeto.
*/
echo Teste::$propriedade;
//Agora o método
Teste::MetodoEstatico();
Membros estáticos também podem ser acessados internamente utilizando o operador self (o mesmo que vimos anteriormente), veja:
class Teste{
public static $propriedade = "www.cafeesoftware.com - Transformando Café em Software";
public static function RetornaPropriedade(){
return self::propriedade;
}
public static function UsarMetodoRetorna(){
return self::RetornaPropriedade();
}
}
// Para acessar:
echo Teste::RetornaPropriedade();
Teste::UsarMetodoRetorna();
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.

Nenhum comentário:
Postar um comentário