3. Hay varios enfoques que uno puede seguir al
tratar de resolver un problema mediante la
construcción de un programa de cómputo. Cada
enfoque tiene la finalidad de proporcionar las
herramientas necesarias para lidiar con la
complejidad del problema. Usualmente uno
aprende el enfoque llamado “Programación
estructurada”.
4. La programación orientada a objetos es otro
enfoque que ayuda a descomponer los problemas
para reducir su complejidad y poder desarrollar
soluciones. En este caso, el problema se
descompone o se describe en términos de los
elementos que aparecen en el problema y la forma
en que éstos interactúan entre sí. A estos
elementos se le llaman objetos. Así, el paradigma
orientado a objetos proporciona las herramientas
necesarias para representar objetos y sus
relaciones dentro de un escenario “realista” del
problema a resolver.
5. Hay cierta naturalidad en este enfoque debido a
que constantemente estamos tratando de clasificar
objetos, conceptos y nociones abstractas, para
formar grupos en los que sus elementos que
pertenecen a un mismo grupo comparten
características comunes y éstas a su vez sirven
para diferenciarlos de los otros grupos y por eso
podemos darles nombre particulares.
6. El primer lenguaje orientado a objetos fue
Simula-67 liberado en 1967.
Este lenguaje fe creado para desarrollar simula-
ciones de fenómenos del mundo real.
En 1972 fue liberado Smalltalk que fue el primer
lenguaje orientado a objetos de propósito general.
7. Todas las operaciones son desarrolladas por el
envío de mensajes a objetos. Aunque fue
considerado por muchos como la forma más pura
de la programación orientada a objetos.
Posteriormente C++ empezó a ser desarrollado en
Bell Labs desde 1979, extendiendo el lenguaje C
para obtener una versión orientada a objetos,
aunque no de forma pura pues permitía combinar
la programación estructurada de C con la
programación orientada a objetos.
8. A principios de los 90's se empezó a considerar
que la televisión interactiva sería la tecnología del
futuro, y la empresa Sun Microsystems decidió
que era necesario contar con un lenguaje especial
y portable.
En 2002 Microsoft liberó otro lenguaje orientado a
objetos, llamado C#, como parte de la
arquitectura .NET, para que fuera utilizado en
Windows y en aplicaciones basadas en Web, cuya
sintaxis está basada en C++ y en Java.
9. Los objetos son instancias de alguna clase, la cual
define los atributos (los datos) que caracterizan a los
objetos de esta clase y proporciona ciertos métodos
(operaciones o funciones) para manipular los
atributos y recibir mensajes para realizar alguna
acción en respuesta a tal mensaje.
Los lenguajes de programación orientados a objetos
deben tener las siguientes propiedades excepcionales:
• La abstracción
• El encapsulamiento
• La herencia
• El polimorfismo
10. • Abstracción
La abstracción permite describir las características
esenciales que comparten un conjunto de objetos,
excluyendo los detalles de fondo. Mediante esto
uno se puede centrar en lo que el objeto hace en
lugar de especificar cómo lo hace. La abstracción
proporciona una visión generalizada de una clase,
mostrando lo que es relevante.
11. • Encapsulamiento
El encapsulamiento permite empaquetar los
atributos y las funciones miembro de una clase
para protegerlos. Hay diferentes niveles de
protección los cuales determinan qué objetos y
qué clases pueden acceder a qué atributos y
métodos de una clase.
Esto permite ocultar algunas características
estructurales de los objetos.
12. • Herencia
La herencia es una propiedad que permite que
nuevas clases sean creadas a partir de otras ya
existentes, con lo cual los objetos de la nueva clase
adquieren características (atributos y métodos)
similares a los de la clase base, pero además se
pueden agregar nuevos atributos o métodos que
correspondan a las características propias de la
nueva clase y por las cuales se diferencia de la
clase base.
13. • Polimorfismo
El polimorfismo es la capacidad que tienen los
objetos de una clase de responder al mismo
mensaje o evento realizando diferentes acciones
dependiendo de los parámetros utilizados al
invocar a una de las funciones miembro de la
clase.
14. Programación
orientada a
objetos
Introducción
Varios enfoques
para resolver un
problema
Finalidad de
proporcionar las
herramientas
necesarias
POO
Ayuda a
reducir la
complejidad
de los
problemas
LenguajesC#
C++
JAVA
Simula-67
Smalltalk
Principios
Propiedades
Abstracción
Encapsulamiento
Herencia
Polimorfismo
15. En conclusión hay varios enfoques que uno puede
seguir al tratar de resolver un problema mediante
la construcción de un programa de cómputo, la
programación orientada a objetos es una forma la
cual ayuda a descomponer los problemas para
reducir su complejidad y poder desarrollar
soluciones, los lenguajes orientados a objetos
deben de contener unas características
excepcionales las cuales son: Abstracción,
Encapsulamiento, Polimorfismo y Herencia.
16. ¿Qué es la Programación Orientada a
Objetos?
¿Cuál fue el primer lenguaje orientado a
objetos?
Menciona las propiedades que requieren
los lenguajes de programación