PDF de programación - Capitulo 2 - tipos de datos: Clases y objetos

Imágen de pdf Capitulo 2 - tipos de datos: Clases y objetos

Capitulo 2 - tipos de datos: Clases y objetosgráfica de visualizaciones

Publicado el 8 de Noviembre del 2019
382 visualizaciones desde el 8 de Noviembre del 2019
1,5 MB
37 paginas
Creado hace 12a (20/08/2007)
capitulo 2
tipos de datos: Clases y objetos

Objetivos
Con el estudio de este capítulo usted podrá:

• Definir lo que es un tipo de datos.
• Conocer los tipos de datos básicos.
• Conocer los tipos de datos estructurados.
• Especificar los tipos abstractos de datos.
• Entender el concepto de encapsulación de datos a través de las clases.
• Definir las clases como una estructura que encierra datos y métodos.
• Especificar tipos abstractos de datos a través de una clase.
• Establecer controles de acceso a los miembros de una clase.





Identificar los miembros dato de una clase como la representación de las
propiedades de un objeto.
Identificar los métodos de una clase con el comportamiento o funcionalidad de
los objetos.

programación.

Contenido
2.1. Abstracción en lenguajes de

2.2. Tipos abstractos de datos.
2.3. Especificación de los TAD.
2.4. Clases y objetos.
2.5. Declaración de una clase.
2.6. Paquetes.
2.7. Constructores.

Conceptos clave
♦ Abstracción.
♦ Componentes.
♦ Constructores.
♦ Encapsulación.
♦ Especificadores de acceso:


public, protected, private.

2.8. Recolección de objetos.
2.9. Objeto que envía el mensaje: this.
2.10. Miembros static de una clase.
2.11. Clase Object.
2.12. Tipos abstractos de datos en Java.
RESUMEN
EJERCICIOS
PROBLEMAS

Interfaz.


♦ Ocultación de la información.
♦ Reutilización.
♦ Software.
♦ Tipos de datos y variables.

Para profundizar (página web: www.mhe.es/joyanes)

▪ Aplicación del tipo abastracto de dato conjunto.



 

  Estructuras de datos en Java

IntrOduCCIón
En este capítulo se examinan los conceptos de modularidad y abstracción de datos. La modula-
ridad es la posibilidad de dividir una aplicación en piezas más pequeñas llamadas módulos. La
abstracción de datos es la técnica para inventar nuevos tipos de datos que sean más adecuados a
una aplicación y, por consiguiente, faciliten la escritura del programa. La técnica de abstracción
de datos es una técnica potente de propósito general que, cuando se utiliza adecuadamente, puede
producir programas más cortos, más legibles y flexibles.

Los lenguajes de programación soportan en sus compiladores tipos de datos fundamentales o 
básicos (predefinidos), tales como int, char y float en Java, C y C++. Lenguajes de progra-
mación como Java tienen características que permiten ampliar el lenguaje añadiendo sus propios
tipos de datos.

Un tipo de dato definido por el programador se denomina tipo abstracto de dato, TAD,
(abstract data type, ADT). El término abstracto se refiere al medio en que un programador
abstrae algunos conceptos de programación creando un nuevo tipo de dato.

La modularización de un programa utiliza la noción de tipo abstracto de dato (TAD) siempre
que sea posible. Si el lenguaje de programación soporta los tipos que desea el usuario y el conjun-
to de operaciones sobre cada tipo, se obtiene un nuevo tipo de dato denominado TAD.

Una clase es un tipo de dato que contiene código (métodos) y datos. Una clase permite en-
capsular todo el código y los datos necesarios para gestionar un tipo específico de un elemento
de programa, como una ventana en la pantalla, un dispositivo conectado a una computadora, una
figura de un programa de dibujo o una tarea realizada por una computadora. En este capítulo se
aprenderá a crear (definir y especificar) y a utilizar clases individuales.

.. ABStrACCIón En LEnGuAJES dE PrOGrAMACIón
Los lenguajes de programación son las herramientas mediante las cuales los diseñadores de
lenguajes pueden implementar los modelos abstractos. La abstracción ofrecida por los lenguajes
de programación se puede dividir en dos categorías: abstracción de datos (perteneciente a los
datos) y abstracción de control (perteneciente a las estructuras de control).

Desde comienzos de la década de los sesenta, cuando se desarrollaron los primeros lenguajes
de programación de alto nivel, ha sido posible utilizar las abstracciones más primitivas de ambas
categorías (variables, tipos de datos, procedimientos, control de bucles, etc.).

... Abstracciones de control
Los microprocesadores ofrecen directamente sólo dos mecanismos para controlar el flujo y
ejecución de las instrucciones: secuencia  y salto. Los primeros lenguajes de programación
de alto nivel introdujeron las estructuras de control: sentencias de bifurcación (if) y bucles
(for, while, do-loop, etc.).
Las estructuras de control describen el orden en el que se ejecutan las sentencias o grupos de
sentencia (unidades de programa). Las unidades de programa se utilizan como bloques básicos
de la clásica descomposición “descendente”. En todos los casos, los subprogramas constituyen
una herramienta potente de abstracción ya que, durante su implementación, el programador
describe en detalle cómo funcionan. Cuando el subprograma se llama, basta con conocer lo que
hace y no cómo lo hace. De este modo, se convierten en cajas negras que amplían el lenguaje
de programación a utilizar. En general, los subprogramas son los mecanismos más ampliamente
utilizados para reutilizar código, a través de colecciones de subprogramas en bibliotecas.

Tipos de datos: Clases y objetos



Las abstracciones y las estructuras de control se clasifican en estructuras de control a nivel de
sentencia y a nivel de unidades. Las abstracciones de control a nivel de unidad se conocen como
abstracciones procedimentales.

abstracción procedimental (por procedimientos)
Es esencial para diseñar software modular y fiable la abstracción procedimental que se basa
en la utilización de procedimientos o funciones sin preocuparse de cómo se implementan. Esto
es posible sólo si conocemos qué hace el procedimiento; esto es, conocemos la sintaxis y la
semántica que utiliza el procedimiento o función. La abstracción aparece en los subprogramas
debido a las siguientes causas:

• Con el nombre de los subprogramas, un programador puede asignar una descripción abs-
tracta que captura el significado global del subprograma. Utilizando el nombre en lugar de
escribir el código, permite al programador aplicar la acción en términos de su descripción
de alto nivel en lugar de sus detalles de bajo nivel.

• Los subprogramas proporcionan ocultación de la información. Las variables locales y
cualquier otra definición local se encapsulan en el subprograma, ocultándose de forma
que no pueden utilizarse fuera del subprograma. Por consiguiente, el programador no
tiene que preocuparse sobre las definiciones locales.

• Los parámetros de los subprogramas, junto con la ocultación de la información anterior,
permiten crear subprogramas que constituyen entidades de software propias. Los detalles
locales de la implementación pueden estar ocultos, mientras que los parámetros se pueden
utilizar para establecer la interfaz pública.

En Java, la abstracción procedimental se establece con los métodos o funciones miembros

de clases.

otros mecanismos de abstracción de control
La evolución de los lenguajes de programación ha permitido la aparición de otros mecanismos
para la abstracción de control, como manejo de excepciones, corrutinas, unidades concurrentes 
o plantillas (templates). Estas construcciones son soportadas por los lenguajes de programación
basados y orientados a objetos, como Java, Modula-2, Ada, C++, Smalltalk o Eiffel.

... Abstracciones de datos
Los primeros pasos hacia la abstracción de datos se crearon con lenguajes tales como FORTRAN,
COBOL y ALGOL 60, con la introducción de tipos de variables diferentes, que manipulaban
enteros, números reales, caracteres, valores lógicos, etc. Sin embargo, estos tipos de datos no
podían ser modificados y no siempre se ajustaban al tipo de uno para el que se necesitaban. Por
ejemplo, el tratamiento de cadenas es una deficiencia en FORTRAN, mientras que la precisión y
fiabilidad para cálculos matemáticos es muy alta.

La siguiente generación de lenguajes, incluyendo Pascal, SIMULA-67 y ALGOL 68, ofre-
ció una amplia selección de tipos de datos y permitió al programador modificar y ampliar los
tipos de datos existentes mediante construcciones específicas (por ejemplo, arrays y registros).
Además, SIMULA-67 fue el primer lenguaje que mezcló datos y procedimientos mediante la
construcción de clases, que eventualmente se convirtió en la base del desarrollo de programa-
ción orientada a objetos.

 

  Estructuras de datos en Java

La abstracción de datos es la técnica de programación que permite inventar o definir nuevos
tipos de datos (tipos de datos definidos por el usuario) adecuados a la aplicación que se desea
realizar. La abstracción de datos es una técnica muy potente que permite diseñar programas más
cortos, legibles y flexibles. La esencia de la abstracción es similar a la utilización de un tipo de
dato, cuyo uso se realiza sin tener en cuenta cómo está representado o implementado.

Los tipos de datos son abstracciones y el proceso de construir nuevos tipos se llama abstrac-
ción de datos. Los nuevos tipos de datos definidos por el usuario se llaman tipos abstractos de 
datos.

El concepto de tipo, tal como se definió en Pascal y ALGOL 68, ha constituido un hito
importante para la realización de un lenguaje capaz de soportar programación estructurada.
Sin embargo, estos lenguajes no soportan totalmente una metodología orientada a objetos. La
abstracción de datos útil para este propósito no sólo clasifica objetos de acuerdo a su estructura
de representación, sino que los clasifican de acuerdo al comportamiento esperado. Tal compor-
tamiento es expresable en términos de operaciones que son significativas sobre esos datos, y las
operaciones son el único medio para crear, modificar y acceder a los objetos.

En términos más precisos, Ghezzi indica que un tipo de dato definible por el usuario se

denomina tipo abstracto de
  • Links de descarga
http://lwp-l.com/pdf16871

Comentarios de: Capitulo 2 - tipos de datos: Clases y objetos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad