TAD, Objetos y Jerarquía: Conceptos de Programación

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,05 KB

TAD

Un TAD es un tipo de dato definido por el programador, que se puede manipular de modo similar a los tipos de datos definidos por el sistema. Un tipo abstracto de datos corresponde a un conjunto de valores legales de datos y un número de operaciones primitivas que se pueden realizar sobre esos valores.

Ventajas

  • Independencia del programa o módulo
  • Reusabilidad del código
  • Protección de los datos

Objetos

Es sencillamente un TAD al que se añaden importantes innovaciones en compartición en código y reutilización. Los mecanismos básicos de orientación son: Objeto, mensajes y métodos, clases e instancias y herencia. Una idea fundamental es la comunicación de los objetos a través de paso de mensajes, se añaden los mecanismos de herencia y polimorfismo.

Encapsulamiento

Es la propiedad que permite asegurar que el contenido de la información de un objeto está oculta al mundo exterior. Permite la división de un programa en módulos, estos módulos se implementan mediante clases, de forma que una clase representa la encapsulación de una abstracción.

Modularidad

Es la propiedad que permite subdividir una aplicación en partes más pequeñas, cada una, las cuales deben ser tan independientes como sea posible de la aplicación en sí y de las restantes partes, pudiendo así compilarse por separado.

Jerarquía

Es una propiedad que permiten una ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: Estructuras de clase (generalización/especialización), y Estructura de objetos (agregación). La generalización/especialización se conocen como herencia la cual define una relación entre clases y la agregación permite el agrupamiento físico de estructuras relacionadas lógicas.

AB

Un árbol binario de tipo T se define como estructura homogénea resultado de la concatenación de un elemento de tipo T, llamado raíz, con dos árboles binarios disjuntos llamados, sub-árbol izquierdo y sub-árbol derecho.

Polimorfismo

Es la propiedad que indica la posibilidad de que una entidad tome muchas formas. Permite referirse a objetos de clase diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas. Ejemplo: mamíferos, misma función diferente forma de comer.

Interfaz

Es una especificación de las funcionalidades del módulo. Contiene las declaraciones de tipos y variables que deban ser conocidas externamente.

Herencia

Propiedad que permite a los objetos ser construidos a partir de otros objetos, es decir, la capacidad de un objeto para utilizar las estructuras de datos y los métodos previstos en antepasados o ascendientes. A la vez pueden añadir su propio código especial y datos propios, incluso cambiar aquellos elementos de la clase que necesita que sean diferentes. El objetivo final es la reutilizabilidad o reutilización. Los tipos de herencia:

  • Herencia simple: una clase puede tener solo un ascendiente.
  • Herencia múltiple: es la propiedad que una clase de poder tener más de un ascendiente inmediato.

Grafos

Un grafo g=(V,A) está formado por un conjunto de vértices V, y un conjunto de arcos A; cada arco se representa mediante un par (v,w) donde v y w existen en V.

Árboles balanceados

ABB en donde la altura de los sub-árboles izquierdos no se deben diferir en más de una unidad |Hri - Hrd|<=1

ABB

Para todo nodo T del árbol se debe cumplir que todos los datos almacenados en el subárbol izquierdo de T sea <= a la información guardada en el nodo T de forma similar, todos los datos almacenados en el subárbol derecho de T deben ser >= a la información guardada en el nodo T.

Desventajas

  • Operan en la memoria principal
  • Ante grandes volúmenes de información se necesita una memoria secundaria
  • Al utilizar memoria secundaria se tarda más tiempo en la búsqueda
  • Para resguardar los datos se utilizan

Entradas relacionadas: