Este documento describe las características principales de un lenguaje de programación orientado a objetos. Estas características incluyen la abstracción, el encapsulamiento, el polimorfismo y el principio de ocultación. También explica brevemente el origen de la programación orientada a objetos en los lenguajes Simula 67 y Smalltalk, así como algunas ventajas de este paradigma como la reutilización de código y la facilidad de mantenimiento del software.
1. Caracteristicas del lenguaje de programacion
orientada a objetos
Hay un cierto desacuerdo sobre
exactamente qué características de un
método de programación o lenguaje le
definen como “orientado a objetos”,
pero hay un consenso general en que
las características siguientes son las
más importantes (para más información,
seguir los enlaces respectivos)
2. ABSTRACCIÓN
Cada objeto en el sistema sirve como modelo de
un “agente” abstracto que puede realizar trabajo,
informar y cambiar su estado, y “comunicarse” con
otros objetos en el sistema sin revelar cómose
implementan estas características. Los procesos,
las funciones o los métodos pueden también ser
abstraídos y cuando lo están, una variedad de
técnicas son requeridas para ampliar una
abstracción.
3. ENCAPSULAMIENTO
Significa reunir a todos los elementos que pueden
considerarse pertenecientes a una misma entidad,
al mismo nivel de abstracción. Esto permite
aumentar la cohesión de los componentes del
sistema. Algunos autores confunden este concepto
con el principio de ocultación, principalmente
porque se suelen emplear conjuntamente.
4. POLIMORFISMO
comportamientos diferentes, asociados a objetos
distintos, pueden compartir el mismo nombre, al
llamarlos por ese nombre se utilizará el
comportamiento correspondiente al objeto que se
esté usando. O dicho de otro modo, las referencias
y las colecciones de objetos pueden contener
objetos de diferentes tipos, y la invocación de un
comportamiento en una referencia producirá el
comportamiento correcto para el tipo real del objeto
referenciado.
5. PRINCIPIO DE OCULTACIÓN:
Cada objeto está aislado del exterior, es un módulo
natural, y cada tipo de objeto expone una interfaz a
otros objetos que especifica cómo pueden
interactuar con los objetos de la clase. El
aislamiento protege a las propiedades de un objeto
contra su modificación por quien no tenga derecho
a acceder a ellas, solamente los propios métodos
internos del objeto pueden acceder a su estado.
Esto asegura que otros objetos no pueden cambiar
el estado interno de un objeto de maneras
inesperadas, eliminando efectos secundarios e
interacciones inesperadas
6. ESTRUCTURA BASICA DE UN PROGRAMA
ORIENTADA A OBJETOS
La programación construyendo el programa instrucción a instrucción,
utilizando las tres estructuras básicas de control (Secuencial,
Condicional e Iterativa): PROGRAMACION IMPERATIVA.
La programación construyendo un programa mediante un conjunto de
funciones de orden superior, que se han definido previamente
(Subprograma) y aplicando posteriormente la composición funcional y la
recursión: PROGRAMACION FUNCIONAL.
La programación construyendo un programa como un conjunto de
asertos y reglas lógicas, que definen relaciones: PROGRAMACION
LOGICA.
La programación que ve un programa como un conjunto de objetos que
se relacionan unos a otros enviándose mensajes: PROGRAMACION
ORIENTADA A OBJETOS (POO).
7. ORIGENES DE LA POO
Los conceptos de la programación orientada a objetos tienen
origen en Simula 67, un lenguaje diseñado para hacer
simulaciones, creado por Ole-Johan Dahl y Kristen
Nygaard del Centro de Cómputo Noruego en Oslo. En este
centro, se trabajaba en simulaciones de naves, que fueron
confundidas por la explosión combinatoria de cómo las
diversas cualidades de diferentes naves podían afectar unas
a las otras. La idea surgió al agrupar los diversos tipos de
naves en diversas clases de objetos, siendo responsable
cada clase de objetos de definir sus propios datos y
comportamientos. Fueron refinados más tarde en Smalltalk,
desarrollado en Simula en Xerox PARC (cuya primera versión
fue escrita sobre Basic) pero diseñado para ser un sistema
completamente dinámico en el cual los objetos se podrían
crear y modificar "sobre la marcha" (en tiempo de ejecución)
en lugar de tener un sistema basado en programas estáticos
8. VENTAJAS DE LA POO
Hasta el momento, las siguientes son las formas de
programación utilizadas por los programadores:
La programación construyendo el programa instrucción a
instrucción, utilizando las tres estructuras básicas de control
(Secuencial, Condicional e Iterativa): PROGRAMACION
IMPERATIVA.
La programación construyendo un programa mediante un
conjunto de funciones de orden superior, que se han definido
previamente (Subprograma) y aplicando posteriormente la
composición funcional y la recursión: PROGRAMACION
FUNCIONAL.
La programación construyendo un programa como un
conjunto de asertos y reglas lógicas, que definen relaciones:
PROGRAMACION LOGICA.
La programación que ve un programa como un conjunto de
objetos que se relacionan unos a otros enviándose
mensajes: PROGRAMACION ORIENTADA A OBJETOS
(POO).
9. * Fomenta la reutilización y extensión del
código.
* Permite crear sistemas más complejos.
* Relacionar el sistema al mundo real.
* Facilita la creación de programas
visuales.
* Construcción de prototipos
* Agiliza el desarrollo de software
* Facilita el trabajo en equipo
* Facilita el mantenimiento del software
10. INSTITUCION:
INSTITUTO TENOLOGICO DE TAPACHULA
MATERIA :
PROGRAMACION
INTEGRANTES:
ALEJANDRO PEREZ OROZCO
ALDAHIR RICARDO RAMIREZ ROBLERO
JORGE ALEXANDER ZARATE FUNES