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

Palavras-chave: classe,programacao,variavel,tecnologia,funcao,encapsulamento,heranca,polimorfismo

Visualizações: 2128



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.

Projetos práticos

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Criando artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

Veja também

Os robôs estão aprendendo por conta própria?

Já não é mais novidade saber que os robôs não precisam mais da orientação de um humano para aprender. Além disso, os robôs já superam os humanos em muitas áreas...

Afinal, para que servem os cookies que sempre são solicitados quando entramos em uma página?

A política de privacidade é obrigatória para qualquer site que utiliza dados pessoais do usuário. Porém, quais dados são esses especificamente?

Framework no desenvolvimento de softwares

Conjunto de códigos prontos para a utilização no desenvolvimento de softwares, eliminando processos como planejamento de arquitetura de classes.

CPU Unidade central de processamento

O CPU é considerado o cérebro do computador, responsável por tarefas como gerenciar instruções de dispositivos de entrada e fazer cálculos.

Aprendizagem adaptativa

Método de ensino digital que ajusta o nível de dificuldade conforme a capacidade, nível e conhecimento do indivíduo que utiliza o sistema.

Programação orientada a objetos

A programação orientada a objetos possui um contexto bastante semelhante com a vida real, facilitando a sua implementação e interpretação.