SlideShare una empresa de Scribd logo
1 de 15
Unidad 1. Introducción. Conceptos
fundamentales de la POO
Un paradigma de programación es una propuesta tecnológica que es
adoptada por una comunidad de programadores cuyo núcleo central es
incuestionable en cuanto a que unívocamente trata de resolver uno o varios
problemas claramente delimitados. La resolución de estos problemas debe
suponer consecuentemente un avance significativo en al menos un parámetro
que afecte a la ingeniería de software. Tiene una estrecha relación con la
formalización de determinados lenguajes en su momento de definición. Un
paradigma de programación está delimitado en el tiempo en cuanto a
aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores
soluciones que la sustituyen parcial o totalmente.
La programación orientada a objetos o POO (OOP según sus siglas en
inglés) es un paradigma de programación que usa objetos y sus interacciones,
para diseñar aplicaciones y programas informáticos. El núcleo central de este
paradigma es la unión de datos y procesamiento en una entidad llamada
"objeto", relacionable a su vez con otras entidades "objeto".
El paradigma de la programación
orientada a objetos
 Abstracción de un objeto
El objeto es una entidad provista de un conjunto de propiedades o atributos
(datos) y de comportamiento. La abstracción denota las características
esenciales de un objeto, donde se capturan sus comportamientos. 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ómo se 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. El proceso de abstracción permite seleccionar las características
relevantes dentro de un conjunto e identificar comportamientos comunes
para definir nuevos tipos de entidades en el mundo real. La abstracción es
clave en el proceso de análisis y diseño orientado a objetos, ya que
mediante ella podemos llegar a armar un conjunto de clases que permitan
modelar la realidad o el problema que se quiere ataca
¿Qué es la POO? Propiedades
fundamentales de la POO(1)
 Métodos y mensajes
El método es un algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de
vista del comportamiento, es lo que el objeto puede hacer. Un método puede
producir un cambio en las propiedades del objeto, o la generación de un
"evento" con un nuevo mensaje para otro objeto del sistema.
Un mensaje es una comunicación dirigida a un objeto, que le ordena que
ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo
generó.
Los mensajes proporcionan dos ventajas importantes:
 El comportamiento de un objeto está completamente determinado (a
excepción del acceso directo a variables miembro públicas) por sus métodos,
así que los mensajes representan todas las posibles interacciones que pueden
realizarse entre objetos.
 Los objetos no necesitan formar parte del mismo proceso, ni siquiera residir
en un mismo ordenador para mandarse mensajes entre ellos (y de esta forma
interactuar).
¿Qué es la POO? Propiedades
fundamentales de la POO(2)
 Encapsulado y ocultación de la información: clases.
En programación orientada a objetos, se denomina encapsulamiento al
ocultamiento del estado, es decir, de los datos miembro, de un objeto de
manera que sólo se puede cambiar mediante las operaciones definidas para ese
objeto.
Cada objeto está aislado del exterior, es un módulo natural, y la aplicación
entera se reduce a un agregado o rompecabezas de objetos. El aislamiento
protege a los datos asociados a un objeto contra su modificación por quien no
tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.
El encapsulamiento consiste en unir en la clase las características y
comportamientos, esto es, las variables y métodos. Es tener todo esto en una
sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que
el encapsulamiento se logra gracias a la abstracción y el ocultamiento que
veremos a continuación. 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
¿Qué es la POO? Propiedades
fundamentales de la POO(3)
La encapsulación da lugar a que las clases se dividan en dos partes:
 Interfaz: Captura la visión externa de una clase, abarcando la abstracción del
comportamiento común a los ejemplos de esa clase.
 Implementación: Comprende la representación de la abstracción, así como
los mecanismos que conducen al comportamiento deseado.
Formas de encapsular:
 Estándar (Predeterminado)
 Abierto : Hace que el miembro de la clase pueda ser accedido desde el
exterior de la Clase y cualquier parte del programa.
 Protegido : Solo es accesible desde la Clase y las clases que heredan (a
cualquier nivel).
 Semi cerrado : Solo es accesible desde la clase heredada
 Cerrado : Solo es accesible desde la Clase.
En el encapsulamiento hay analizadores que pueden ser semánticos y
sintácticos.
¿Qué es la POO? Propiedades
fundamentales de la POO(4)
 Modularidad.
Se denomina modularidad a la propiedad que permite subdividir una aplicación
en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan
independiente como sea posible de la aplicación en sí y de las restantes partes.
Estos módulos se pueden compilar por separado, pero tienen conexiones con
otros módulos. Al igual que la encapsulación, los lenguajes soportan la
modularidad de diversas formas.
 Jerarquización: Herencia y objetos compuestos.
Es una clasificación u ordenación de las abstracciones.
Por jerarquía denotamos el orden de relación que se produce entre
abstracciones diferentes.
¿Qué es la POO? Propiedades
fundamentales de la POO(5)
Los tipos de jerarquía más útiles:
 Herencia (generalización/especialización, padre/hijo, jerarquía del tipo "es
un"...). Una clase (subclase) comparte la estructura o comportamiento
definido en otra clase, llamada superclase.
 Herencia multiple Una clase comparte la estructura o comportamiento de
varias superclases.
 Agregación Comprende relaciones del tipo "es parte de" al realizar una
descomposición.
Los objetos compuestos pueden contener a su vez objetos de otras clases dentro
de sí (esto es lo que da la potencia a la POO). El contenido la mayoría de las
veces no es el objeto en sí, sino una referencia (puntero) al objeto; con la
ventaja de que el objeto contenido puede cambiar de contenido o posición sin
afectar al objeto que contiene. El objeto contenido puede, además, estar en
varios objetos a la vez. Al mismo tiempo que se crea un objeto, se crean los
objetos que contiene.
¿Qué es la POO? Propiedades
fundamentales de la POO(6)
 Polimorfismo.
El polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de
objetos cuya naturaleza puede ser heterogénea. El único requisito que deben
cumplir los objetos que se utilizan de manera polimórfica es saber responder al
mensaje que se les envía. Es importante remarcar que si un cierto grupo de
objetos pueden utilizarse de manera polimórfica es porque, en última instancia,
todos ellos saben responder a un cierto mensaje (o a varios), pero dado que esos
mismos objetos generalmente contendrán otros métodos (que otros objetos en
dicho grupo no contienen), difícilmente se pueda decir lisa y llanamente que los
objetos son polimórficos; lo correcto es decir que esos objetos se pueden utilizar
de modo polimórfico para un cierto conjunto de mensajes.
El concepto de polimorfismo, desde una perspectiva más general, se puede
aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de
funciones polimórficas y tipos polimórficos. Las primeras son aquellas
funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de
forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de
datos que contienen al menos un elemento cuyo tipo no está especificado.
¿Qué es la POO? Propiedades
fundamentales de la POO(7)
Haciendo énfasis en las comparaciones entre programación orientada a objetos;
parto nombrando las ventajas de ambas; y que así; poder tener en cuenta la
parte positiva de cada programación y luego diferenciar como es que resuelve
un problema cada programación (realizar tareas, permitiendo hacer los
programas y módulos más fáciles o clara de escribir).
 Las ventajas de un lenguaje orientado a objetos, son:
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
Desarrollo tradicional frente a
desarrollo orientado a objetos(1)
 Ventajas de la Programación estructurada
Con la programación estructurada elaborar programas de computador sigue siendo un
albor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este
nuevo estilo podemos obtener las siguientes ventajas:
Los programas son más fáciles de entender. Un programa estructurado puede ser leído en
secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la
lógica, lo cual es típico de otros estilos de programación. La estructura del programa es
más clara puesto que las instrucciones están más relacionadas entre sí, por lo que es más
fácil comprender lo que hace cada función.
Estableciendo las diferencias Programación orientada a objetos y estructurada:
La programación estructura pretende resolver un problema de principio a fin en una sola
estructura de código. La programación orientada a objetos, resuelve el problema
identificando los actores que tienen participación en el problema e identificando también
sus acciones. Con esta información se crean los objetos (que son una interpretación de
algunos de estos actores), estos objetos están compuestos por clases donde se detalla las
acciones que realizan y las propiedades de estos. Al tener creados los objetos solo es
ponerlos a interactuar entre ellos.
Desarrollo tradicional frente a
desarrollo orientado a objetos(2)
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.
Evolución de los lenguajes
orientados a objetos(1)
Línea de tiempo de los
lenguajes orientados a
objetos
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.
Existen varias clasificaciones de los LOO, atendiendo a criterios de construcción o
características específicas de los mismos.
 Clasificación de Peter Wegner
 Clasificación de Tesler
 Clasificación según el origen
Clasificación de los lenguajes
orientados a objetos(1)
Clasificación de Peter Wegner
 Lenguajes Basados en Objetos: Soportan objetos. Es decir, disponen de componentes
caracterizados por un conjunto de operaciones (comportamiento) y un estado.
 Lenguajes Basados en Clases: Disponen, además de objetos, de componentes tipo clase
con operaciones y estado común.
 Lenguajes Orientados al Objeto: Además de objetos y clases ofrecen mecanismos de
herencia.
Clasificación de Tesler
Clasificación de los lenguajes
orientados a objetos(2)
Clasificación según el origen
Clasificación de los lenguajes
orientados a objetos(3)

Más contenido relacionado

La actualidad más candente

Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionfranciscocain
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosJosé Antonio Sandoval Acosta
 
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosFranklin Parrales Bravo
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasJosé Antonio Sandoval Acosta
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooJosé Antonio Sandoval Acosta
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoJosé Antonio Sandoval Acosta
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalJose Angel Rodriguez
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programaciondianithacipriano
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientosaaronastorga4
 
Listas en prolog
Listas en prologListas en prolog
Listas en prologJeffoG92
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdooNerhys Palacios
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxjcfarit
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 

La actualidad más candente (20)

Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
P.O.O.
P.O.O.P.O.O.
P.O.O.
 
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datosEstructura de datos - Unidad 1: Introducción a las estructuras de datos
Estructura de datos - Unidad 1: Introducción a las estructuras de datos
 
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetosED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
ED Unidad 1: Introducción a las estructuras de datos (TDA) con objetos
 
Conceptos poo (presentación1)
Conceptos poo (presentación1)Conceptos poo (presentación1)
Conceptos poo (presentación1)
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Unidad III procedimientos
Unidad III procedimientosUnidad III procedimientos
Unidad III procedimientos
 
Listas en prolog
Listas en prologListas en prolog
Listas en prolog
 
Ventajas y desventajas de las bdoo
Ventajas y desventajas de las bdooVentajas y desventajas de las bdoo
Ventajas y desventajas de las bdoo
 
Unidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linuxUnidad 3 gestion de procesos en linux
Unidad 3 gestion de procesos en linux
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 

Similar a Unidad 1. Introducción. Conceptos fundamentales de la POO

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosjaninaplaza
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaMarcos Acosta
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosronnyme21
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetosAgapito26
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptjuan gonzalez
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacionANGIEZAMBRANO57
 
Apuntes unidad uno poo
Apuntes unidad uno pooApuntes unidad uno poo
Apuntes unidad uno pookarina NAVA
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1cesarmrl2
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosJosue Sarabia
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a ObjetosJuan Carlos Riva
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosJonathan Marcillo
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosmaikitejeda
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructuradavnslgars
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ISILVA19_PAMELA
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a ObjetosMegaMono
 

Similar a Unidad 1. Introducción. Conceptos fundamentales de la POO (20)

Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos AcostaProgramacion orientada a objetos by Marcos Acosta
Programacion orientada a objetos by Marcos Acosta
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programacion orientada a objetos
Programacion orientada a objetosProgramacion orientada a objetos
Programacion orientada a objetos
 
Poo y visual
Poo y visualPoo y visual
Poo y visual
 
fundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.pptfundamentos-de-poo.ppt 2.ppt
fundamentos-de-poo.ppt 2.ppt
 
Programación orientada a objetos presentacion
Programación    orientada    a objetos presentacionProgramación    orientada    a objetos presentacion
Programación orientada a objetos presentacion
 
Apuntes unidad uno poo
Apuntes unidad uno pooApuntes unidad uno poo
Apuntes unidad uno poo
 
Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1Fundamentos De ProgramacióN Unidad 1
Fundamentos De ProgramacióN Unidad 1
 
Diseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetosDiseña y construye programas orientados a objetos
Diseña y construye programas orientados a objetos
 
Asignación 1 astrid c.
Asignación 1 astrid c.Asignación 1 astrid c.
Asignación 1 astrid c.
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Programación Orientada a Objetos
Programación Orientada a ObjetosProgramación Orientada a Objetos
Programación Orientada a Objetos
 
Programación estructurada
Programación estructuradaProgramación estructurada
Programación estructurada
 
ESTUDIANTE
ESTUDIANTEESTUDIANTE
ESTUDIANTE
 
LABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN ILABORATORIO DE PROGRAMACIÓN I
LABORATORIO DE PROGRAMACIÓN I
 
Diseño Orientado a Objetos
Diseño Orientado a ObjetosDiseño Orientado a Objetos
Diseño Orientado a Objetos
 

Más de Universidad del golfo de México Norte

Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUnidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUniversidad del golfo de México Norte
 

Más de Universidad del golfo de México Norte (20)

Unidad 8. Proyecto de diseño estructural
Unidad 8. Proyecto de diseño estructuralUnidad 8. Proyecto de diseño estructural
Unidad 8. Proyecto de diseño estructural
 
Unidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especialesUnidad 7. Muros y estructuras especiales
Unidad 7. Muros y estructuras especiales
 
Unidad 6. Zapatas
Unidad 6. ZapatasUnidad 6. Zapatas
Unidad 6. Zapatas
 
Unidad 5. Cimientos
Unidad 5. CimientosUnidad 5. Cimientos
Unidad 5. Cimientos
 
Unidad 4. Columnas
Unidad 4. ColumnasUnidad 4. Columnas
Unidad 4. Columnas
 
Unidad 3. Losas
Unidad 3. LosasUnidad 3. Losas
Unidad 3. Losas
 
Unidad 2. Vigas
Unidad 2. VigasUnidad 2. Vigas
Unidad 2. Vigas
 
Unidad 1. Introducción a las estructuras de concreto
Unidad 1. Introducción a las estructuras de concretoUnidad 1. Introducción a las estructuras de concreto
Unidad 1. Introducción a las estructuras de concreto
 
Unidad 5. Reconocimiento del ingreso y gasto
Unidad 5. Reconocimiento del ingreso y gastoUnidad 5. Reconocimiento del ingreso y gasto
Unidad 5. Reconocimiento del ingreso y gasto
 
Unidad 4. Capital contable
Unidad 4. Capital contableUnidad 4. Capital contable
Unidad 4. Capital contable
 
Unidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazoUnidad 3. Pasivo a largo plazo
Unidad 3. Pasivo a largo plazo
 
Unidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazoUnidad 2. Pasivo a corto plazo
Unidad 2. Pasivo a corto plazo
 
Unidad 1. Inversiones permanentes y otros activos
Unidad 1. Inversiones permanentes y otros activosUnidad 1. Inversiones permanentes y otros activos
Unidad 1. Inversiones permanentes y otros activos
 
Unidad 14. Mecanismos alternativos de solución de controversias
Unidad 14. Mecanismos alternativos de solución de controversiasUnidad 14. Mecanismos alternativos de solución de controversias
Unidad 14. Mecanismos alternativos de solución de controversias
 
Unidad 13. Medios de impugnación
Unidad 13. Medios de impugnaciónUnidad 13. Medios de impugnación
Unidad 13. Medios de impugnación
 
Unidad 12. Audiencia de debate y juicio oral
Unidad 12. Audiencia de debate y juicio oralUnidad 12. Audiencia de debate y juicio oral
Unidad 12. Audiencia de debate y juicio oral
 
Unidad 11. Audiencia intermedia
Unidad 11. Audiencia intermediaUnidad 11. Audiencia intermedia
Unidad 11. Audiencia intermedia
 
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penalUnidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
Unidad 10. Proceso abreviado, simplificado y salidas alternas del proceso penal
 
Unidad 9 Medidas cautelares
Unidad 9 Medidas cautelaresUnidad 9 Medidas cautelares
Unidad 9 Medidas cautelares
 
Unidad 8. Audiencia inicial
Unidad 8. Audiencia inicialUnidad 8. Audiencia inicial
Unidad 8. Audiencia inicial
 

Último

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 

Último (20)

Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 

Unidad 1. Introducción. Conceptos fundamentales de la POO

  • 1. Unidad 1. Introducción. Conceptos fundamentales de la POO
  • 2. Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. La resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente. La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. El núcleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto". El paradigma de la programación orientada a objetos
  • 3.  Abstracción de un objeto El objeto es una entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento. La abstracción denota las características esenciales de un objeto, donde se capturan sus comportamientos. 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ómo se 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. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere ataca ¿Qué es la POO? Propiedades fundamentales de la POO(1)
  • 4.  Métodos y mensajes El método es un algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema. Un mensaje es una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó. Los mensajes proporcionan dos ventajas importantes:  El comportamiento de un objeto está completamente determinado (a excepción del acceso directo a variables miembro públicas) por sus métodos, así que los mensajes representan todas las posibles interacciones que pueden realizarse entre objetos.  Los objetos no necesitan formar parte del mismo proceso, ni siquiera residir en un mismo ordenador para mandarse mensajes entre ellos (y de esta forma interactuar). ¿Qué es la POO? Propiedades fundamentales de la POO(2)
  • 5.  Encapsulado y ocultación de la información: clases. En programación orientada a objetos, se denomina encapsulamiento al ocultamiento del estado, es decir, de los datos miembro, de un objeto de manera que sólo se puede cambiar mediante las operaciones definidas para ese objeto. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones. El encapsulamiento consiste en unir en la clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto en una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. 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 ¿Qué es la POO? Propiedades fundamentales de la POO(3)
  • 6. La encapsulación da lugar a que las clases se dividan en dos partes:  Interfaz: Captura la visión externa de una clase, abarcando la abstracción del comportamiento común a los ejemplos de esa clase.  Implementación: Comprende la representación de la abstracción, así como los mecanismos que conducen al comportamiento deseado. Formas de encapsular:  Estándar (Predeterminado)  Abierto : Hace que el miembro de la clase pueda ser accedido desde el exterior de la Clase y cualquier parte del programa.  Protegido : Solo es accesible desde la Clase y las clases que heredan (a cualquier nivel).  Semi cerrado : Solo es accesible desde la clase heredada  Cerrado : Solo es accesible desde la Clase. En el encapsulamiento hay analizadores que pueden ser semánticos y sintácticos. ¿Qué es la POO? Propiedades fundamentales de la POO(4)
  • 7.  Modularidad. Se denomina modularidad a la propiedad que permite subdividir una aplicación en partes más pequeñas (llamadas módulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en sí y de las restantes partes. Estos módulos se pueden compilar por separado, pero tienen conexiones con otros módulos. Al igual que la encapsulación, los lenguajes soportan la modularidad de diversas formas.  Jerarquización: Herencia y objetos compuestos. Es una clasificación u ordenación de las abstracciones. Por jerarquía denotamos el orden de relación que se produce entre abstracciones diferentes. ¿Qué es la POO? Propiedades fundamentales de la POO(5)
  • 8. Los tipos de jerarquía más útiles:  Herencia (generalización/especialización, padre/hijo, jerarquía del tipo "es un"...). Una clase (subclase) comparte la estructura o comportamiento definido en otra clase, llamada superclase.  Herencia multiple Una clase comparte la estructura o comportamiento de varias superclases.  Agregación Comprende relaciones del tipo "es parte de" al realizar una descomposición. Los objetos compuestos pueden contener a su vez objetos de otras clases dentro de sí (esto es lo que da la potencia a la POO). El contenido la mayoría de las veces no es el objeto en sí, sino una referencia (puntero) al objeto; con la ventaja de que el objeto contenido puede cambiar de contenido o posición sin afectar al objeto que contiene. El objeto contenido puede, además, estar en varios objetos a la vez. Al mismo tiempo que se crea un objeto, se crean los objetos que contiene. ¿Qué es la POO? Propiedades fundamentales de la POO(6)
  • 9.  Polimorfismo. El polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterogénea. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. Es importante remarcar que si un cierto grupo de objetos pueden utilizarse de manera polimórfica es porque, en última instancia, todos ellos saben responder a un cierto mensaje (o a varios), pero dado que esos mismos objetos generalmente contendrán otros métodos (que otros objetos en dicho grupo no contienen), difícilmente se pueda decir lisa y llanamente que los objetos son polimórficos; lo correcto es decir que esos objetos se pueden utilizar de modo polimórfico para un cierto conjunto de mensajes. El concepto de polimorfismo, desde una perspectiva más general, se puede aplicar tanto a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está especificado. ¿Qué es la POO? Propiedades fundamentales de la POO(7)
  • 10. Haciendo énfasis en las comparaciones entre programación orientada a objetos; parto nombrando las ventajas de ambas; y que así; poder tener en cuenta la parte positiva de cada programación y luego diferenciar como es que resuelve un problema cada programación (realizar tareas, permitiendo hacer los programas y módulos más fáciles o clara de escribir).  Las ventajas de un lenguaje orientado a objetos, son: 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 Desarrollo tradicional frente a desarrollo orientado a objetos(1)
  • 11.  Ventajas de la Programación estructurada Con la programación estructurada elaborar programas de computador sigue siendo un albor que demanda esfuerzo, creatividad, habilidad y cuidado. Sin embargo, con este nuevo estilo podemos obtener las siguientes ventajas: Los programas son más fáciles de entender. Un programa estructurado puede ser leído en secuencia, de arriba hacia abajo, sin necesidad de estar saltando de un sitio a otro en la lógica, lo cual es típico de otros estilos de programación. La estructura del programa es más clara puesto que las instrucciones están más relacionadas entre sí, por lo que es más fácil comprender lo que hace cada función. Estableciendo las diferencias Programación orientada a objetos y estructurada: La programación estructura pretende resolver un problema de principio a fin en una sola estructura de código. La programación orientada a objetos, resuelve el problema identificando los actores que tienen participación en el problema e identificando también sus acciones. Con esta información se crean los objetos (que son una interpretación de algunos de estos actores), estos objetos están compuestos por clases donde se detalla las acciones que realizan y las propiedades de estos. Al tener creados los objetos solo es ponerlos a interactuar entre ellos. Desarrollo tradicional frente a desarrollo orientado a objetos(2)
  • 12. 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. Evolución de los lenguajes orientados a objetos(1) Línea de tiempo de los lenguajes orientados a objetos
  • 13. 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. Existen varias clasificaciones de los LOO, atendiendo a criterios de construcción o características específicas de los mismos.  Clasificación de Peter Wegner  Clasificación de Tesler  Clasificación según el origen Clasificación de los lenguajes orientados a objetos(1)
  • 14. Clasificación de Peter Wegner  Lenguajes Basados en Objetos: Soportan objetos. Es decir, disponen de componentes caracterizados por un conjunto de operaciones (comportamiento) y un estado.  Lenguajes Basados en Clases: Disponen, además de objetos, de componentes tipo clase con operaciones y estado común.  Lenguajes Orientados al Objeto: Además de objetos y clases ofrecen mecanismos de herencia. Clasificación de Tesler Clasificación de los lenguajes orientados a objetos(2)
  • 15. Clasificación según el origen Clasificación de los lenguajes orientados a objetos(3)