Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Curso de Ada - Tipos limitados

Curso de Ada - Tipos limitados

 ****- (10 opiniones)
GNU Free Documentation License Curso gratis de José Alfonso Malo Romero - 16 de Marzo de 2006
Temas Relacionados: Programación estructurada
47. Tipos limitados
Cuando se define un tipo privado, se predefinen inherentemente las operaciones de asignación, igualdad y desigualdad. Si no se quiere que exista ninguna operación, sino únicamente las definidas en el paquete, se debe emplear el tipo privado limitado.

Como consecuencia de no tener operador de asignación, la declaración de un objeto de dicho tipo no puede incluir un valor inicial. Esto también tiene la consecuencia de que no pueden existir constantes de un tipo privado limitado.

La ventaja es que el programador de la unidad que contenga un tipo privado limitado se asegura el control absoluto sobre los objetos de dicho tipo.

Para indicarlo, se define el tipo como limited private. Por ejemplo, implementado un tipo abstracto de datos pila:

package Pilas is type TPila is limited private; -- Tipo privado limitado. procedure Poner (P: in out TPila; X: in Integer); procedure Quitar (P: in out TPila; X: out Integer); function "=" (P1, P2: TPila) return Boolean; private Max: constant := 100; type TVectorEnteros is array (Integer range <>) of Integer; type TPila is record P: TVectorEnteros(1..Max); Cima; Integer range 0..Max := 0; end record; end Pilas;

La función "=" se implementa para comprobar que dos pilas tienen el mismo número de elementos y cada uno de ellos en el mismo orden deber ser iguales. Por eso, se ha optado por un tipo privado limitado. Si el tipo fuera únicamente privado, no se podría redefinir la operación "=" para darle la implementación correcta.

Manual de referencia de Ada


Tabla de contenidos
  1. 1 - Introducción
  2. 2 - Historia
  3. 3 - Manual de referencia
  4. 4 - Instalación
  5. 5 - Hola Mundo
  6. 6 - Elementos del lenguaje
  7. 7 - Tipos
  8. 8 - Enteros
  9. 9 - Enumeraciones
  10. 10 - Coma flotante
  11. 11 - Coma fija
  12. 12 - Arrays
  13. 13 - Strings
  14. 14 - Registros
  15. 15 - Registros discriminados
  16. 16 - Registros variantes
  17. 17 - Punteros a objetos
  18. 18 - Punteros a subprogramas
  19. 19 - Tipos derivados
  20. 20 - Tipos etiquetados (orientación a objetos)
  21. 21 - Subtipos
  22. 22 - Objetos (variables y constantes)
  23. 23 - Atributos
  24. 24 - Expresiones
  25. 25 - Operadores
  26. 26 - Sentencias y estructuras de control
  27. 27 - Subprogramas
  28. 28 - Sobrecarga
  29. 29 - Entrada/salida
  30. 30 - Pragmas
  31. 31 - Interfaz con otros lenguajes
  32. 32 - Diseño y programación de sistemas grandes
  33. 33 - Paquetes
  34. 34 - Clausula use
  35. 35 - Clausula with
  36. 36 - Paquete Standard
  1. 37 - Declaraciones
  2. 38 - Ámbito
  3. 39 - Visibilidad
  4. 40 - Renombrado
  5. 41 - La biblioteca Ada (unidades y subunidades)
  6. 42 - Unidades de biblioteca
  7. 43 - Unidades hijas
  8. 44 - Subunidades
  9. 45 - Compilación separada y dependiente
  10. 46 - Tipos abstractos de datos
  11. 47 - Tipos limitados
  12. 48 - Unidades genéricas
  13. 49 - Excepciones
  14. 50 - Paquete Ada.Exceptions
  15. 51 - Concurrencia
  16. 52 - Tareas
  17. 53 - Sincronización de tareas mediante puntos de entrada o citas (entry)
  18. 54 - Aceptación de citas (accept)
  19. 55 - Selección de citas (select)
  20. 56 - Llamadas a punto de entrada complejas
  21. 57 - Tareas dinamicas: creación dinamica de tareas (tipos t
  22. 58 - Dependencia de tareas
  23. 59 - Ejemplos de tareas
  24. 60 - Programación distribuida con GLADE
  25. 61 - Novedades de Ada 2005
  26. 62 - Unidades predefinidas
  27. 63 - Paquete Ada.Strings.Fixed
  28. 64 - Paquete Ada.Strings.Unbounded
  29. 65 - Paquete Ada.Text_IO
  30. 66 - Paquete Ada.Text_IO.Editing
  31. 67 - Paquete Ada.Float_Text_IO
  32. 68 - Paquete Ada.Sequential_IO
  33. 69 - Paquete Ada.Command_Line
  34. 70 - Paquete Interfaces
  35. 71 - Recursos en la Web
Autor y licencia de 'Curso de Ada - Tipos limitados'
José Alfonso Malo Romero Extraído de: http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Ada_/_Introducci%C3%B3n GNU Free Documentation License
El contenido está disponible bajo los términos de GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.gnu.org/copyleft/fdl.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Curso de Ada - Tipos limitados'

En la actualidad el mundo de los negocios se desenvuelve no solo dentro de los... Más »
PHP es un lenguaje en que usualmente el tipo de dato de una variable no... Más »
Excelente curso de iniciación a la astronomía para aquellos que quieran aprender sobre esta apasionante... Más »
Este es un curso tremendamente completo, guiado y con ejemplos y prácticas pensadas para convertirlo... Más »
La idea de este curso surgió de varias conversaciones entre amig@s de la cuadrilla y... Más »
Gente Wiki
Jairo Cardona Giraldo
Investigador sobre fracaso escolar y web semantica.
Alberto Conde
Abogado, gestor de empresas a nivel alta dirección en empresa multinacionales y españolas. Experiencia internacional. Trilingüe(en. Fr. Es. ) escritor....
Branding, Comercio exterior,...
Yolanda Arechavleta Hernández
Dedicada a la investigación de lo relacionado con la enseñanza y el aprendizaje de la biologia. A nivel medio superior...
Jaime Robles
Soy psicólogo clínico, con una especialidad en orientación psicopedagógica, laboro en el ambito educativo estructurando programas de orientación educativa y...
Pedagogía, Depresión,...
Walter Noel Leyria
Diseñador grafico. Presidente de la asoc de diseño de la pcia de san luis. Argentina. Propietario del studio l35 desde...
Administración pública, Administración pública y cultura,...
Oscar Castro
Profesional con amplia formación y experiencia de 11 años en el área de logística incluyendo compras internacionales, comercio exterior, inventarios,...
Análisis de resultados, Análisis fundamental,...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?