Classes na programação

Conjunto de variáveis e funções que podem ser encapsuladas em uma única unidade de instância e definir o escopo e a acessibilidade de cada elemento

Categoria de Programação

Postado em 27 setembro 2022

Atualizado em 27 setembro 2022

Visualizações: 166



A programação orientada a objetos revolucionou o modo de programação. Esse modo de escrita trouxe muito mais flexibilidade em relação ao manuseio das variáveis de diversas formas, como escopo, acessibilidade e controle.

Porém, isso não seria possível sem a presença das classes, essenciais em linguagens de programação recentes.

O que são classes na programação?

Classes são estruturas abstratas que contém funções e variáveis. As funções dentro da classe vão definir o seu comportamento e a sua forma de utilização. As variáveis vão armazenar determinados valores durante o tempo de execução. O conjunto das funções e variáveis dentro de uma classe é chamado de encapsulamento.

Uma classe pode estender outra classe, herdando suas funções e variáveis. Assim como também pode sobrepor funções já existentes da classe parente para atender as suas necessidades (polimorfismo).

Como funciona as classes na programação?

Classes podem ser planejadas antes mesmo de sua implementação. Isso facilita o seu entendimento.
planejamento de classe na programação

O conteúdo dentro das funções não precisa ser necessariamente escrito no planejamento acima, uma vez que o conteúdo pode ser alterado com frequência, além de não ser tão relevante desde que execute as suas funções corretamente.

Na programação, o esboço acima pode ser implementado da seguinte maneira:

class ClasseParente {
    public $variavel1;
    public $variavel2;
	
	public function funcao1 {
		// ...
	}
	
	public function funcao2 {
		// ...
	}
}

class ClasseDerivada {
	// variavel2 é sobreposta
    public $variavel2;
    public $variavel3;
	
	// funcao2 é sobreposta
	public function funcao2 {
		// ...
	}
}

Exemplo de classe usando PHP

Quais são as funcionalidades que a classe pode ter?

Cada linguagem de programação possui determinadas características na implementação de classes. Exemplos de funcionalidades bastante comuns são:

  • Acesso limitado aos seus atributos
  • Abstração

Como limitar o acesso aos atributos da classe?

Em alguns casos, atributos (variáveis de uma determinada classe) podem ter seu acesso externo limitado por questões de segurança.

public class Carro {
    private $cor = "preto";
}

$carro = new Carro();

// (Erro ao acessar atributo privado) 
// PHP Fatal error:  Uncaught Error: Cannot access private property Carro::$cor 
echo $carro->cor;

No algoritmo acima, a cor do carro não pode ser acessada externamente. Ao invés de acessar diretamente, usa-se uma função pública.

public class Carro {
    private $cor = "preto";
	
	public function obterCor() {
		return $this->cor;
	}
}

$carro = new Carro();

// preto
echo $carro->cor;

Usando essa prática de acesso limitado que é bastante comum na programação, pode-se ter um melhor controle de quais variáveis podem ser acessadas e quais valores podem ser retornados.

O que é a abstração de classes na programação?

A abstração de classes é usado em ocasiões onde sabe-se a existência de funções importa, independente do seu conteúdo.

abstract class Carro {
    abstract function acelerar();
    abstract function frear();
}

A classe abstrata escrita acima, exigi que a classe que estende o carro deve implementar as duas funções.

class Fusquinha extends Carro {
    private $velocidade = 0;
    
    public function acelerar() {
	    $this->velocidade += 1;
    }

	public function frear() {
	    $this->velocidade -= 1;
    }
}

Como mostrado acima, a classe que estende o carro deve implementar o conteúdo das funções.

Conclusão

A classe é um conjunto de variáveis e funções que podem ser encapsuladas em uma única unidade de instância. É um elemento essencial na programação orientada a objetos e tem um papel importantíssimo no planejamento do algoritmo.