5
Universidad Católica de Salta - Subsede Buenos Aires Programación Orientada a objetos Lenguajes II Programación orientada a objetos 1 La ingeniería de sistemas de información ha progresado gracias a la introducción de nuevas técnicas para construir programas. Tradicionalmente la programación fue hecha de manera secuencial es decir como una serie de pasos consecutivos. Los lenguajes basados en esta forma de programación ofrecían ventajas al principio pero el problema surgió cuando los sistemas se volvieron más complejos. Frente a esta dificultad aparecieron los lenguajes basados en la programación estructurada. La idea principal era separar el problema en módulos que pudieran comunicarse entre sí. Conforme avanzó la tecnología de computadoras fue necesario crear programas cada vez más sofisticados (grandes y complejos), esto llevó a los desarrolladores a crear una nueva forma de programar que les permitiera crear sistemas de niveles empresariales y con reglas de negocios muy complejas. Es así como aparece la programación orientada a objetos (POO). La POO viene de la evolución de la programación estructurada y tiene dos elementos fundamentales: las clases y los objetos. Qué es un objeto? Un objeto es una cosa. Cuando se empieza a identificar los objetos utilizados en un sistema se descubrirá que muchas partes diferentes del programa utilizan el mismo tipo de objetos, como resultado, al escribir los programas en términos de objetos se 1 Material sacado de Internet C.C. Marta Ferrari 1

Programación orientada a objetos

Embed Size (px)

Citation preview

Page 1: Programación orientada a objetos

Universidad Católica de Salta - Subsede Buenos Aires Programación Orientada a objetosLenguajes II

Programación orientada a objetos1

La ingeniería de sistemas de información ha progresado gracias a la introducción de nuevas

técnicas para construir programas. Tradicionalmente la programación fue hecha de manera

secuencial es decir como una serie de pasos consecutivos. Los lenguajes basados en esta forma de

programación ofrecían ventajas al principio pero el problema surgió cuando los sistemas se

volvieron más complejos.

Frente a esta dificultad aparecieron los lenguajes basados en la programación estructurada. La

idea principal era separar el problema en módulos que pudieran comunicarse entre sí. Conforme

avanzó la tecnología de computadoras fue necesario crear programas cada vez más sofisticados

(grandes y complejos), esto llevó a los desarrolladores a crear una nueva forma de programar que

les permitiera crear sistemas de niveles empresariales y con reglas de negocios muy complejas.

Es así como aparece la programación orientada a objetos (POO). La POO viene de la

evolución de la programación estructurada y tiene dos elementos fundamentales: las clases y los

objetos.

 Qué es un objeto?

Un objeto es una cosa. Cuando se empieza a identificar los objetos utilizados en un sistema se

descubrirá que muchas partes diferentes del programa utilizan el mismo tipo de objetos, como

resultado, al escribir los programas en términos de objetos se puede volver a utilizar el código

escrito para una parte en otra parte del programa.

El primer paso en la creación de programas orientados a objetos es identificar los objetos que

constituyen el sistema. En POO los objetos pueden ser cualquier entidad del mundo real:

- Objetos físicos

* automóviles en una simulación de tráfico * aviones en un sistema de control de tráfico aéreo

* animales mamíferos, etc.

- Elementos de interfaces gráficas de usuarios

* ventanas * iconos * menús * ratones,etc

- Estructuras de datos

* arrays * pilas * árboles binarios,etc

1 Material sacado de Internet

C.C. Marta Ferrari1

Page 2: Programación orientada a objetos

Universidad Católica de Salta - Subsede Buenos Aires Programación Orientada a objetosLenguajes II

- Tipos de datos definidos por el usuario

* números complejos * hora del día * fecha,etc

Los objetos tienen datos (también se los llama atributos) y operaciones o funciones

específicas (también se las llama métodos). Veamos algunos ejemplos.

Objeto Datos Operaciones

perro

nombre

color

raza

altura

ladrar

cavar pozo

comer

jugar

auto

marca

color

tamaño

acelerar

frenar

bajar cambio

Si pensamos en el objeto archivo por ejemplo, algunos de sus atributos son el nombre, el

tamaño, la fecha en que fue creado o sea elementos que se refieren a las características del objeto y

algunos de sus métodos son copiar, borrar, renombrar o sea elementos que hacen al comportamiento

del objeto.

Qué es una clase?

Para construir objetos se necesita un molde o plantilla. La Clase es quien proporciona una

plantilla con la que el programa puede crear objetos. La abstracción y el encapsulamiento están

representados por la Clase. El objeto es una instancia de la Clase (viene de inglés instante que

quiere decir ejemplo)

Una Clase es un tipo de datos definido por el programador que agrupa los datos (atributos) y

las funciones (métodos) necesarias para manipularlos.

Antes de que un programa pueda crear objetos de una Clase es necesario definir la clase. Qué

significa definir una clase? Definir una Clase es:

Darle un nombre

Darle nombre a los elementos que almacenan sus datos

Darle nombre y describir las funciones que realizarán las acciones consideradas

C.C. Marta Ferrari2

Page 3: Programación orientada a objetos

Universidad Católica de Salta - Subsede Buenos Aires Programación Orientada a objetosLenguajes II

Existe un lenguaje de modelado llamado UML mediante el cual podemos representar

gráficamente todo un sistema orientado a objetos utilizando rectángulos, líneas y otro tipo de

símbolos gráficos. Según UML, la clase necesaria para crear objetos archivo por ejemplo se

representará gráficamente como sigue:

Clase Archivo

nombre

tamaño

fecha_creacion

copiar

borrar

renombrar

Esta representación muestra como en un solo módulo se encapsulan los datos (o atributos) y

las funciones (o métodos) de la clase. En la POO a la acción de encerrar los datos y las funciones en

un módulo se la llama encapsulamiento.

Qué es el encapsulamiento?

El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto

es, las variables y métodos. Es tener todo esto es una sola entidad.

La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que

tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los

detalles internos, y esto es conveniente porque lo que nos interesará será conocer qué hace la Clase

pero no será necesario saber cómo lo hace.

Hasta aquí hemos visto algunos conceptos fundamentales de la POO, otros como la herencia y

el polimorfismo serán tratados en otro apunte.

C.C. Marta Ferrari3