A linguagem de programação Perl suporta programação orientada a objetos , que lida com a interação entre os objetos. Objetos são instâncias de classes , que são coleções de funções e valores relacionados. Variáveis de nível de classe , também conhecidos como atributos de classe , são variáveis que podem ser acessados por qualquer objeto dentro de uma classe . Por outro lado , as variáveis de nível de instância só pode ser acessado por uma instância ou objeto. Variáveis de nível de classe têm várias vantagens , desvantagens e usos que você deveria saber. Vantagens de variáveis de classe
variáveis de nível de classe oferecem várias vantagens . A variável de nível de classe pode ser acessado por todos os objetos dentro da classe. Isso é conveniente para dados que é universal em toda a classe. Variáveis de nível de classe também simplificar certos aspectos da codificação , uma vez que os objetos não necessitam de um sistema elaborado para permitir a troca de dados.
Desvantagens de variáveis de classe
variáveis de nível de classe tem alguns inconvenientes. Como as variáveis de nível de classe são compartilhados por todos os objetos da classe, a variável não tem controle de acesso. Qualquer objeto pode modificar a variável , o que não é apropriado para os dados que representa um valor único para uma instância de classe .
Métodos de acesso
Atributos de classe não deve ser acessados diretamente , mas deve antes ser acessado através métodos de acesso . Métodos de acesso get e set atributos de classe . Usando métodos de acesso é uma boa prática de programação orientada a objetos , uma vez que separa a interface ( as funções e tipos de dados visíveis para os clientes ) ea implementação ( as porcas e parafusos de código ).
Exemplos de Use
variáveis de nível de classe pode ser usado em muitas aplicações :
Armazenar uma lista de objetos;
rastreamento qual objeto foi acessado pela última vez , ou rastrear a mais objeto acessado ;
Compartilhamento de dados universais entre os objetos ; .
Armazenar uma referência a um arquivo que todos os objetos podem acessar , como um arquivo de log