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: 2273



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

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Criando artes de texto usando imagens

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

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

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.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Veja também

A digitalização é o jeito moderno de gerenciamento de documentos

Digitalizar documentos facilita o gerenciamento, aumenta a disponibilidade e economiza tempo, consequentemente trazendo muitos outros benefícios.

A comunicação entre dispositivos existe graças aos protocolos

Alguns desses protocolos é o HTTP que usamos em nossos navegadores. Sem esses protocolos teríamos alguns problemas na comunicação de dispositivos através da internet.

Busca binária

A busca binária usa o método de divisão de conquista que visa em dividir os problemas em pequenos problemas até que eles se resolvam sozinhos.

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.

Digitalização

A digitalização é a transformação de informação analógica em dados binários, facilitando a cópia, edição e processamento desses dados.

Armazenamento de imagens

O armazenamento de imagens é realizado com o sistema de numeração binária. A imagem é composta por um conjunto de pixels e cada pixel representa uma cor.