MX Cursos
c.fw

Orientação a Objetos com C++

4/5 - (1 vote)

Olá, tudo bem? Nesse post irei falar sobre programação orientada a objetos (POO) utilizando a linguagem de programação C++. Já pensou se o seu chefe pede para você fazer um programa que armazene diferentes tipos de dados tais como nome, CPF, idade e peso de uma pessoa? Graças ao C++ você pode tirar de letra essa missão, pois ele oferece uma estrutura chamada class (classe) para lidar com este tipo de processo.

Esse artigo pode ser um tanto complicado pra iniciantes em C++, mas não se preocupe, eu elaborei um curso no MX Cursos especialmente para iniciantes: clique aqui para acessar.

Programando com classe

É verdade que você pode armazenar os dados em arrays paralelos, ou seja, você teria um array para armazenar os nomes das pessoas, outro para armazenar as idades e assim sucessivamente. Os arrays são muito bons para valores individuais, mas não são tão bons quando os dados vêm em grupos de informações.

 Grupos de informações? Como assim?

Simples, por exemplo: o nosso programa tem que armazenar e manipular os dados de pessoas não é mesmo? Esses dados fazem sentido quando eles estão agregados, ou seja, o Marcos tem o nome, idade e peso dele; a Maria tem o nome, idade e peso dela e assim sucessivamente.

Portanto, utilizar arrays paralelos nesse caso pode gerar uma grande confusão!

Definição de classe

E como definir uma classe em C++? Basta utilizar a palavra-chave class seguida do nome da classe. Veja o exemplo de uma definição de uma classe Pessoa com os atributos nome, idade e peso:

classe

Fácil, não é mesmo? Por enquanto não vou falar do private. Você também poderia utilizar o nome struct no lugar de class, mas o class é mais utilizado quando estamos programando em C++. O nome, idade e peso são conhecidos como membros da classe.

O que nós fizemos foi definir uma classe para representar uma pessoa. Uma pessoa tem um nome, idade e peso não é mesmo? Poderia ter mais atributos como CPF, RG, cor dos olhos etc.

Objeto

Já declaramos a nossa classe e vimos como é fácil fazer isso. Declarar uma classe em C++ é como definir um novo tipo de variável. Agora que já definimos uma classe, podemos criar uma instância de uma classe, veja como é fácil fazer isso:

classe2

Pronto, já temos o nosso objeto “p”. Uma instância de uma classe é chamada de object (objeto). Programadores iniciantes muitas vezes confundem o conceito de classe e objeto, mas é simples: digamos que Cachorro é uma classe e o meu cachorro chamado Yankee é um exemplo de um cachorro. Minha cadela Lilica é um exemplo de outro cachorro. O Yankee e a Lilica são objetos, ou seja, instâncias de Cachorro.

Legal, mas vamos parar um pouquinho de falar de cachorro porque a classe que definimos representa uma pessoa não é mesmo? Quando definimos eu falei que não iríamos falar do private, mas falaremos agora: private é um modificador de acesso. Os membros declarados como private não podem ser acessados de fora da classe em que foram definidos. Isso quer dizer que o código abaixo não compila:

classe3

Você vai obter um erro de compilação indicando que “idade” é private (privado). Perceba que eu estou tentando acessar um membro privado de fora da classe em que ele foi definido. O que fazer então? Basta definir um método público para setar a idade bem como um método público para obter essa idade para exibirmos ela na nossa função main.

classe4

Perceba que utilizei o modificador public nos métodos. Um método nada mais é que uma função definida em uma classe. Agora vamos voltar para a nossa função main para setar e imprimir a idade da pessoa.

classe5

Utilizei os métodos públicos para poder acessar os atributos privados da classe Pessoa. Lembre-se: membros privados não podem ser acessados de fora da classe onde foram definidos.

Por esse post é só, em breve irei fazer mais posts sobre orientação a objetos com C++, abraço!

Clube de Cursos Clube de Cursos

Conheça nosso Clube de Cursos e potencialize suas habilidades em Produção e Edição de Vídeos, Design, Marketing Digital, Programaço, WordPress, 3D e Modelagem, Motion Graphics e muito mais!

CONHEÇA O CLUBE
Compartilhar
Twittar
Compartilhar