TAD
Origem: Wikipédia, a enciclopédia livre.
[editar] TAD - Tipo Abstrato de Dado
Em computação, o TAD (Tipo de Dado Abstrato) é uma metodologia de programação, que tem como proposta reduzir a informação necessária para a criação/programação de um algoritmo através da abstração das variáveis envolvidas em uma única entidade fechada. Com operações próprias a sua natureza.
Um exemplo prático disto é o de um estudante. Em um projeto anterior a teoria de TAD, um estudante seria representado por variáveis soltas, como seu nome, sua idade e sua matrícula. Que serão operadas em separado, sem que haja uma ligação lógica entre elas, além do conhecimento do programador de que a variável trata-se do nome da "entidade" estudante.
Conceitualmente passou a se projetar um programa então pensando que não há o nome, idade e matrícula do estudante. Mas simplesmente o Tipo estudante. Este tipo, como um tipo simples (como um inteiro ou uma string) deve ter operadores próprios. Assim o estudante deve possuir operações desejáveis ao programador, como de duplicar sua informação, validar a matrícula. Verificar a idade, etc.
Na prática, o TAD é implementado usando-se um tipo composto (struct/record - estrutura/registro) com os valores pertencentes ao TAD (nome, idade, matrícula). E por funções que operam esta estrutura.
Exemplo: estrutura Estudante{ Nome Idade Matricula } funcao Estudante_MaiorDeIdade(Estudante estudante) retorna booleano; funcao Estudante_ValidaMatricula(Estudante estudante);
A abstração de informações através do TAD permitiu a melhor compreensão dos algoritmos, maior facilidade de programação, e por consequência, aumentou a complexidade dos programas. Tornando-se fundamental em qualquer projeto de software a modelagem de seus dados previamente.
Um dos problemas que são enfrentados no TAD é que ele é uma estrutura metafórica gerada pela modelagem. Porém, a nível de implementação, não há nenhuma segurança que as operações e regras de operação desejadas para este tipo sejam respeitadas.
Posteriormente, essa metodologia foi incorporada a própria linguagem de programação, para um protótipo do que é hoje a orientação a objetos (OOP - Object Oriented Programming). Permitindo a gerência do acesso as informações de um tipo, a herança e o polimorfismo.
Veja também:
-Programação Estruturada
-Orientação a objetos
-Engenharia de Software
-Modelagem de dados
-Representação de Conhecimento