Publicado em Programação

Conceitos iniciais sobre Classes e Objectos – C++

O paradigma  da Programação Orientada a Objectos, pela primeira vez pensado por Kristin Nygaard em 1968, gira em torno de dois conceitos: classes e objectos. Este é um paradigma de análise, projecto e programação de sistemas de software baseado na composição e interacção entre diversas unidades de software chamadas de objectos.

Antes de pensarmos em Programação Orientada a Objectos, que nos obrigaria a falar dos conceitos de herança e polimorfismo, é suficiente focarmos a nossa atenção no paradigma ADT (Abstract Data Type), cuja construção dos programas consiste na definição de novos tipos de dados e da criação/manipulação de objectos desse tipo.

O que é um objecto?
Uma bola de futebol é um objecto real, que pode ser percepcionado pelos nossos cinco sentidos.
Podemos identificar algumas propriedades deste objecto, tais como: volume, cor, material do revestimento e outras. Por outro lado cada bola de futebol(objecto) pode apresentar comportamentos diferentes fazendo-se variar apenas uma das suas propriedades, tal como a pressão interna de ar. Facilmente podemos associar a cada bola de futebol um fórmula (método ou função) que permita calcular a elasticidade de cada bola, ficando o resultado final dependente dos valores associados a cada bola em particular.
No computador, os objectos apenas existem na memória principal e não se podem “tocar”, assim tudo o que se disse acerca da bola de futebol é perfeitamente válido para este tipo de  objectos.

O que é um classe?
É um tipo de dados cujas instâncias se designam de objectos e que contém um conjunto de dados que descrevem o objecto, juntamente com as descrição das acções que esse objectopode executar (funções).
É um conjunto de objectos que partilham a mesma estrutura e comportamento.(Booch)

Programas, classes e objectos

classes

Da observação desta figura vamos notar que:

  • Um programa qualquer ( representado pelo rectângulo azul ) pode utilizar uma ou mais classes;
  • Cada classe encontra-se dividida em duas áreas distintas: public e private;
  • A área public pode ser acedida pelo programa e pela área private da própria classe;
  • A área private de uma classe apenas está acessível a partir a sua área public.
  • O especificador de acesso “protected” não vai ser abordado, uma vez que não vou abordar mecanismos de herança nesta fase.

Membros de uma classe
Tal como acontecia nas estruturas (struct), uma classe é formada por um conjunto de membros que podem ser de dois tipos:
membros-dados (atributos);
membros-função (métodos);
Isto significa que à nossa representação gráfica de uma classe podemos agora acrescentar:

class2

Procedimental vs ADT

Para não terminar sem mostrar ums linhas de código apresento um programa muito simples que permite calcular a soma de dois números.

No primeiro caso recorro ao paradigma procedimental e no segundo ao paradigma ADT.

Procedimental

#include
using namespace std;
int soma2(int a, int b){
return (a+b);
}
int main(){
int a=1,b=2;
cout<ADT

#include
using namespace std;
class SOMA2{
private:
    int valor1, valor2;
public:
    int soma2(){return valor1+valor2;}
    void setsoma2(int a, int b){valor1=a;valor2=b;}
};
int main(){
    SOMA2 ab;
    ab.setsoma2(1,2);
    cout<(work in progress …)

Anúncios

Uma opinião sobre “Conceitos iniciais sobre Classes e Objectos – C++

  1. Muito bom seu dite pois usarei ele para poder estudar a cadeira de SISTEMA DE INFORMAÇÃO PARA WEB se você puder me ajudar amigo com alguma dúvida eu agradeço desde já, e lhe parabenizo pelo site

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s