Algoritmos e Estruturas de Dados
Tipos Abstratos de Dados
Tipos Abstratos de Dados, ou TADs são modelos matemáticos de estruturas de
dados que definem:
Um TAD define o que se pode
fazer com uma estrutura de dados, mas não define como.
Em uma linguagem de programação um tipo de dado define que tipo de
informação pode ser armazenada em uma variável. Já um tipo estruturado de
dado, define um conjunto de dados que são agrupados sob um mesmo nome, como
um vetor ou uma struct.
Já um TAD define, além do tipo estruturado de dados, as funções de acesso
aos dados, quais os parâmetros para estas funções e quais os retornos estas
funções geram quando se acessam os dados.
Em linguagens como C, um TAD se concretiza através de um tipo de dado(em geral uma
struct) que define variáveis que armazenam dos dados e de um conjunto de
funções que operam sobre estas variáveis.
Em linguagens como C++, um TAD é definido por meio de uma classe, que
possui métodos de acesso aos dados.
Se pensarmos em uma TAD que decreva um ponto no plano, podemos ter em C:
typedef struct {
double x, y;
} PONTO;
void inicializaPonto(PONTO *p, int x, int y);
void
imprimePonto(PONTO p);
void
setPonto(PONTO *P, int x, int y);
void
getPonto(PONTO P, int *x, int *y);
Já em C++, a TAD equivalente teria a seguinte forma:
class PONTO{
int x,y;
public:
void inicializaPonto(int x, int y);
void imprimePonto();
void
setPonto(int x,int y);
CPonto getPonto();
};
Utilizando a ideia de TAD, consegue-se implementar três
conceitos fundamentais de Orientação a Objetos, quais sejam:
FIM.
,