Post on 05-Aug-2015
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
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
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