SlideShare una empresa de Scribd logo
1 de 57
Descargar para leer sin conexión
PROGRAMACIÓN ORIENTADAA
OBJETOS
SEBASTIÁN DAVID MORENO BERNAL
CRISTIAN CAMILO ORJUELA VELANDIA
24/04/2017
LENGUAJES DE PROGRAMACIÓN
PROGRAMACIÓN ORIENTADA A OBJETOS - CONTENIDO 2
CONTENIDO
1. Introducción
2. Historia
3. Filosofía del paradigma
4. Conceptos clave
5. Principios de la POO
6. Ventajas y desventajas
7. Lenguajes de programación
8. Aplicaciones
9. Referencias y bibliografía
1. INTRODUCCIÓN
2. HISTORIA
3
PROGRAMACIÓN ORIENTADA A OBJETOS - INTRODUCCIÓN 4
• La Programación orientada a Objetos es un paradigma de programación que
tiene como objetivo la implementación basada en una colección de objetos
que están estructurados en clases.
• Aparece como parte de la evolución de la programación y se establece como
un enfoque diferente al momento de obtener resultados.
2. HISTORIA
3. FILOSOFÍA DEL PARADIGMA
5
1. INTRODUCCIÓN
PROGRAMACIÓN ORIENTADA A OBJETOS - HISTORIA 6
• Surge en un Centro de Computación Noruego
en los años 60’s con la implementación un
lenguaje llamado Simula 67 por Krinsten
Nygaard y Ole-Johan Dahl.
• Simula 67 inicia implementando los conceptos
de clases, subclases y rutinas.
1. GitHub Pages – Paradigmas
Línea del tiempo
50
96
67
80’s
[ ]
2000
2010
7
Hoy
PROGRAMACIÓN ORIENTADA A OBJETOS – HISTORIA
3. FILOSOFÍA DEL PARADIGMA
4. CONCEPTOS CLAVE
8
2. HISTORIA
9
▪ La implementación y desarrollo del
paradigma está fundamentado en los
objetos.
▪ Dar prioridad a los objetos y su
abstracción como una parte fundamental
en la solución de problemas.
▪ Definir los métodos, propiedades y
características de los objetos así como su
relación(interacción).
3. Car Class Example
PROGRAMACIÓN ORIENTADA A OBJETOS – FILOSOFÍA DEL PARADIGMA
4. CONCEPTOS CLAVE
5. PRINCIPIOS DE LA POO
10
3. FILOSOFÍA DEL PARADIGMA
11
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
➢ Abstracción
➢ Modularidad
➢ Encapsulamiento
➢ Herencia
➢ Polimorfismo
Proceso que implica reconocer y enfocarse
en las características importantes de una
situación u objeto, y filtrar o ignorar todos
los detalles no esenciales.
12
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
Abstracción
4. Abstracción
13
Atributo
Método
Instancia
Objeto
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN
Constructor
Son tipos complejos que tienen múltiples
piezas de información con propiedades (o
atributos) y comportamientos (o métodos).
Clase
14
Profesor Grupo
1 enseña 1..*
Un profesor enseña a uno o más grupos
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN
Diagrama de clases
15
Es un tipo de clase con sentido
nominativo que recoge las
características comunes de otra serie
de clases.
Una clase que implementa una
interfaz necesita implementar la
funcionalidad de negocio real (los
métodos).
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN
Clase Abstracta Interfaz
16
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE – CLASE ABSTRACTA VS INTERFAZ
 Propiedad que permite subdividir
una aplicación en partes más
pequeñas.
 La modularidad debe seguir los
conceptos de bajo acoplamiento y
alta cohesión.
17
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
Modularidad
10. Modularidad en Java
18
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - MODULARIDAD
Malas prácticas
 Es el proceso de ocultar todos los detalles internos de un objeto del mundo
exterior.
 Es una barrera protectora que impide que el código y los datos sean
accesibles al azar por otro código o por fuera de la clase.
19
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
Encapsulamiento
20
Accesor
Mutador
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ENCAPSULAMIENTO
Una clase heredada de otra
quiere decir que esa clase
obtiene los mismos métodos y
propiedades de la otra clase.
21
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
Jerarquía
Herencia
22
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - HERENCIA
Es la habilidad de dos o más objetos pertenecientes a diferentes clases para
responder exactamente al mismo mensaje (llamada de método) de
diferentes formas específicas de la clase.
23
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE
Sobrecarga de
métodos
Polimorfismo
24
CLASS empleado DEFINITION.
DATA nombre TYPE string.
DATA apellido TYPE string.
METHODS: modificarNombre IMPORTING i_nombre TYPE string,
modificarNombre IMPORTING i_nombre TYPE string
i_apellido TYPE string.
ENDCLASS.
Sobrecarga en ABAP4
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - POLIMORFISMO
25
CLASS empleado IMPLEMENTATION.
METHOD modificarNombre IMPORTING i_nombre TYPE string.
nombre = i_nombre.
ENDMETHOD.
METHOD modificarNombre IMPORTING i_nombre TYPE string
i_apellido TYPE string.
nombre = i_nombre.
apellido = i_apellido.
ENDMETHOD.
ENDCLASS.
PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - POLIMORFISMO
Sobrecarga en ABAP4
5. PRINCIPIOS DE LA POO
6. VENTAJAS Y DESVENTAJAS
26
4. CONCEPTOS CLAVE
Principios de la POO
• Según Robert C. Martin existen 5 principios básicos
que constituyen la programación orientada a objetos.
27
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
18. Robert Cecil Martin
28
Principio de responsabilidad única
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
• Cada clase debe tener una única responsabilidad, y esta
responsabilidad debe estar contenida únicamente en esa clase.
• Cada responsabilidad es el eje y la razón de cambio.
• Para contener la propagación del cambio, se deben separar las
responsabilidades.
29
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – RESPONSABILIDAD ÚNICA
19. Principio de responsabilidad única
30
 Una entidad (clase, módulo, función, etc.) debe quedarse abierta para su
extensión, pero cerrada para su modificación.
 Si un cambio impacta a varios módulos, entonces la aplicación no está bien
diseñada.
 Se deben diseñar módulos que procuren no cambiar y así, reutilizar el
código más adelante (extensión).
Principio de abierto - cerrado
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
31
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – ABIERTO/CERRADO
 Si en alguna parte de un programa se utiliza una clase, y esta clase es
extendida, se puede utilizar cualquiera de las clases hijas sin que existan
modificaciones en el código.
 Cada clase que hereda de otra puede usarse como su padre sin necesidad
de conocer las diferencias entre ellas.
32
Principio de sustitución de Liskov
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
33
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO– SUSTITUCIÓN DE LISKOV
21. Principio de sustitución de Liskov
34
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
• Este principio hace referencia a que muchas interfaces cliente específicas son
mejores que una interfaz de propósito general.
• Se aplica a una interfaz amplia y compleja para dividirla en otras más
pequeñas y específicas, de tal forma que cada cliente use solo aquella que
necesite pudiendo así ignorar al resto.
Principio de segregación de interfaz
35
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – SEGREGACIÓN DE INTERFAZ
36
 Interfaces detalladas.
 Implementar métodos
necesarios.
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – SEGREGACIÓN DE INTERFAZ
23. Principio de segregación de interfaz
 Los módulos de alto nivel no
deben depender de los módulos de
bajo nivel. Ambos deben
depender de abstracciones.
37
Principio de inversión de dependencias
PROGRAMACIÓN ORIENTADA A OBJETOS - PRINCIPIOS DE LA POO
38
PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – INVERSIÓN DE DEPENDENCIAS
25. Principio de inversión de dependencias
6. VENTAJAS Y DESVENTAJAS
7. LENGUAJES DE PROGRAMACIÓN
39
5. PRINCIPIOS DE LA POO
 Reducción de código redundante, lo que permite un código conciso y
sin repeticiones. (Herencia)
 Posibilita reusar código y extenderlo a través de la clases sin necesidad
de probarlo. (Testing)
 La jerarquía y abstracción de los objetos brinda una implementación
más detallada, puntual y coherente.
40
PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS.
Ventajas
✓ La implementación de clases y objetos proporciona una relación más directa
con la realidad al implementar funciones y métodos como comportamientos
de las entidades.
✓ Bajo acoplamiento y alta cohesión: Gracias a la modularidad, cada
componente o módulo de un desarrollo tiene independencia de los demás
componentes.
✓ Facilidad en el desarrollo y el mantenimiento debido a la filosofía del
paradigma.
41
PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS.
Ventajas
42
PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS.
26. Diagrama de clases
 Velocidad de ejecución.
 Se hereda código no usable en la nueva clase.
 El uso para tareas simples termina siendo improductivo.
43
PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS.
Desventajas
7. LENGUAJES DE PROGRAMACIÓN
8. APLICACIONES
44
6. VENTAJAS Y DESVENTAJAS
Un lenguaje es orientado a objetos si cumple con lo siguiente:
Soporta objetos que son abstracciones de datos con una interfaz de
operaciones con nombre y un estado local oculto.
Los objetos tienen un tipo asociado (la clase).
Los tipos (clases) pueden heredar atributos de los supertipos
(superclases).
45
Lenguajes de programación
PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN
46
 Eiffel
 Ruby
 Delphi
 Muchos más
 https://en.wikipedia.org/wiki/List_of_ob
ject-oriented_programming_languages
 SmallTalk (Entorno puro o “mundo
virtual” de objetos)
 Scala (Influido por Java)
 Perl (Soporta herencia múltiple)
 ABAP (SAP)
 D (Rediseño de C++, influido por Eiffel,
C#)
Lenguajes de programación
PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN
47
Ejemplo en PHP
PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS
Ejemplo en C++
27, 28. Ejemplos de clases
48
Ejemplo en Python
PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS
Ejemplo en C#
29, 30. Ejemplos de clases
49
Ejemplo en C++
PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS
8. APLICACIONES
9. REFERENCIA Y BIBLIOGRAFÍA
50
7. LENGUAJES DE PROGRAMACIÓN
“Cada elemento en el mundo real puede ser modelado e implementado como
un objeto”.
 Twitter es hecho en SCALA (Objetos)
 Bases de datos orientadas a objetos.
 Interfaces de usuario.
 Modelamiento y simulación de agentes.
51
Aplicaciones
PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES
52
31- 34. Imágenes aplicaciones
PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES
La serialización consiste en un proceso de codificación de un objeto en un
medio de almacenamiento con el fin de transmitirlo a través de una
conexión en red como una serie de bytes o en un formato más legible
(XML, JSON):
El objeto serializado pueda guardarse en un fichero o puede enviarse por
red para reconstruirlo en otro lugar.
El objeto copiado es un copia idéntica al original.
53
PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES
Serialización
Conceptos básicos de POO:
o https://msdn.microsoft.com/es-co/library/bb972232.aspx
o https://styde.net/que-es-la-programacion-orientada-a-objetos/
o http://c.conclase.net/curso/?cap=036
o Durán F. Gutierrez F. Pimentel E. Programación orientada a objetos con Java .
2007. Editorial Thomson. Madrid.
Clases en Python
o http://docs.python.org.ar/tutorial/2/classes.html
Ventajas y aplicaciones de POO:
o https://www.emaze.com/@ACZOZZLZ/poo
54
Referencias y Bibliografía
PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA
55
Serialización:
• https://es.wikipedia.org/wiki/Serializaci%C3%B3n
Presentaciones de programación orientada objetos de cursos anteriores.
• https://drive.google.com/drive/u/1/folders/0B7IRdmOoUVf5fjVBd1lvSmFvN0x
mZmoteS1rQzN3cllTQVZRWnBhcGhBakxmazBQbEFKYmc
• https://prezi.com/iechoqrsv1ur/programacion-orientada-a-
objetos/?utm_campaign=share&utm_medium=copy
• https://www.emaze.com/@ACZOZZLZ/poo
Presentaciones del curso de programación orientada a objetos, Juan Mendivelso,
UNAL. https://sites.google.com/a/unal.edu.co/poo2014-2/
Referencias y Bibliografía
PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA
56
1. GitHub Pages – Paradigmas de programación:
http://ferestrepoca.github.io/paradigmas-de-programacion/poo/poo_teoria/index.html
2. Fechas importantes
https://www.timetoast.com/linea-del-tiempo-evolucion-de-los-lenguajes-de-
programacion
3. Clase Carro
http://www.aprenderaprogramar.com/index.php?option=com_content&view=article
Referencias imágenes
PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA
4 - 9. Abstracción, Clase, Objeto, Interfaz
https://www.mindomo.com/es/mindmap/programacion-orientada-a-objetos-
699df6ea39c24846b53082db41e6f3b1
10. Modularidad.
https://www.slideshare.net/CristianoCostantini/modular-java-with-osgi-and-karaf
57
11 – 16. Conceptos clave
https://sites.google.com/a/unal.edu.co/poo2014-2/
17, 19 - 24. SOLID Principles
https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-
design
25. Robert Cecil Martin
https://alchetron.com/Robert-Cecil-Martin-228711-W
27 - 30. Ejemplos de lenguajes
http://ferestrepoca.github.io/paradigmas-de-programacion/ poo/poo_teoria/
examples.html
31 – 34. Aplicaciones. http://ferestrepoca.github.io/paradigmas-de-
programacion/poo/poo_teoria/index.html#applications
PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA

Más contenido relacionado

Similar a POO: Programación orientada a objetos

Paradigmas de programacion lupita
Paradigmas de programacion lupitaParadigmas de programacion lupita
Paradigmas de programacion lupitaaguilarlupitas
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacionLuis Peralta
 
Paradigma orientado a objetos,
Paradigma orientado a objetos,Paradigma orientado a objetos,
Paradigma orientado a objetos,iestpaht
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CosteCAMILO
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSCAMILO
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoCAMILO
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de dosteCAMILO
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y CosteCAMILO
 
procesos de desarrollo de software
procesos de desarrollo de softwareprocesos de desarrollo de software
procesos de desarrollo de softwarejoseantonio897
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOyuribel
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...Miguel Ángel Sánchez Chordi
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesMicael Gallego
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTECAMILO
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVAjohitafresh
 

Similar a POO: Programación orientada a objetos (20)

Ti034 caso practico
Ti034  caso practicoTi034  caso practico
Ti034 caso practico
 
Paradigmas de programacion lupita
Paradigmas de programacion lupitaParadigmas de programacion lupita
Paradigmas de programacion lupita
 
Desarroollo lupita
Desarroollo lupitaDesarroollo lupita
Desarroollo lupita
 
Paradigmas programacion
Paradigmas programacionParadigmas programacion
Paradigmas programacion
 
Diapositivas de la poo
Diapositivas de la pooDiapositivas de la poo
Diapositivas de la poo
 
Paradigma orientado a objetos,
Paradigma orientado a objetos,Paradigma orientado a objetos,
Paradigma orientado a objetos,
 
Presentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de CostePresentacion de Software y Estimacion de Coste
Presentacion de Software y Estimacion de Coste
 
PROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOSPROYECTOS DE SOFTWARE Y COSTOS
PROYECTOS DE SOFTWARE Y COSTOS
 
Proyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de CostoProyecto de Software y Estimacion de Costo
Proyecto de Software y Estimacion de Costo
 
presentacion de software y estimacion de doste
presentacion de software y estimacion de dostepresentacion de software y estimacion de doste
presentacion de software y estimacion de doste
 
Proyecto de Software y Coste
Proyecto de Software y CosteProyecto de Software y Coste
Proyecto de Software y Coste
 
procesos de desarrollo de software
procesos de desarrollo de softwareprocesos de desarrollo de software
procesos de desarrollo de software
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
CENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICOCENTRO DE INNOVACIÓN TECNOLÓGICO
CENTRO DE INNOVACIÓN TECNOLÓGICO
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Como ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicacionesComo ser mas productivo en el desarrollo de aplicaciones
Como ser mas productivo en el desarrollo de aplicaciones
 
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTEPRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
PRESENTACION: PROYECTO DE SOFTWARE & ESTIMACION DE COSTE
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 
Semana 1 Patrones de Diseño
Semana 1   Patrones de DiseñoSemana 1   Patrones de Diseño
Semana 1 Patrones de Diseño
 

Último

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestajeffsalazarpuente
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 

Último (20)

Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
Diapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuestaDiapositiva de Topografía Nivelación simple y compuesta
Diapositiva de Topografía Nivelación simple y compuesta
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 

POO: Programación orientada a objetos

  • 1. PROGRAMACIÓN ORIENTADAA OBJETOS SEBASTIÁN DAVID MORENO BERNAL CRISTIAN CAMILO ORJUELA VELANDIA 24/04/2017 LENGUAJES DE PROGRAMACIÓN
  • 2. PROGRAMACIÓN ORIENTADA A OBJETOS - CONTENIDO 2 CONTENIDO 1. Introducción 2. Historia 3. Filosofía del paradigma 4. Conceptos clave 5. Principios de la POO 6. Ventajas y desventajas 7. Lenguajes de programación 8. Aplicaciones 9. Referencias y bibliografía
  • 4. PROGRAMACIÓN ORIENTADA A OBJETOS - INTRODUCCIÓN 4 • La Programación orientada a Objetos es un paradigma de programación que tiene como objetivo la implementación basada en una colección de objetos que están estructurados en clases. • Aparece como parte de la evolución de la programación y se establece como un enfoque diferente al momento de obtener resultados.
  • 5. 2. HISTORIA 3. FILOSOFÍA DEL PARADIGMA 5 1. INTRODUCCIÓN
  • 6. PROGRAMACIÓN ORIENTADA A OBJETOS - HISTORIA 6 • Surge en un Centro de Computación Noruego en los años 60’s con la implementación un lenguaje llamado Simula 67 por Krinsten Nygaard y Ole-Johan Dahl. • Simula 67 inicia implementando los conceptos de clases, subclases y rutinas. 1. GitHub Pages – Paradigmas
  • 7. Línea del tiempo 50 96 67 80’s [ ] 2000 2010 7 Hoy PROGRAMACIÓN ORIENTADA A OBJETOS – HISTORIA
  • 8. 3. FILOSOFÍA DEL PARADIGMA 4. CONCEPTOS CLAVE 8 2. HISTORIA
  • 9. 9 ▪ La implementación y desarrollo del paradigma está fundamentado en los objetos. ▪ Dar prioridad a los objetos y su abstracción como una parte fundamental en la solución de problemas. ▪ Definir los métodos, propiedades y características de los objetos así como su relación(interacción). 3. Car Class Example PROGRAMACIÓN ORIENTADA A OBJETOS – FILOSOFÍA DEL PARADIGMA
  • 10. 4. CONCEPTOS CLAVE 5. PRINCIPIOS DE LA POO 10 3. FILOSOFÍA DEL PARADIGMA
  • 11. 11 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE ➢ Abstracción ➢ Modularidad ➢ Encapsulamiento ➢ Herencia ➢ Polimorfismo
  • 12. Proceso que implica reconocer y enfocarse en las características importantes de una situación u objeto, y filtrar o ignorar todos los detalles no esenciales. 12 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE Abstracción 4. Abstracción
  • 13. 13 Atributo Método Instancia Objeto PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN Constructor Son tipos complejos que tienen múltiples piezas de información con propiedades (o atributos) y comportamientos (o métodos). Clase
  • 14. 14 Profesor Grupo 1 enseña 1..* Un profesor enseña a uno o más grupos PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN Diagrama de clases
  • 15. 15 Es un tipo de clase con sentido nominativo que recoge las características comunes de otra serie de clases. Una clase que implementa una interfaz necesita implementar la funcionalidad de negocio real (los métodos). PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ABSTRACCIÓN Clase Abstracta Interfaz
  • 16. 16 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE – CLASE ABSTRACTA VS INTERFAZ
  • 17.  Propiedad que permite subdividir una aplicación en partes más pequeñas.  La modularidad debe seguir los conceptos de bajo acoplamiento y alta cohesión. 17 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE Modularidad 10. Modularidad en Java
  • 18. 18 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - MODULARIDAD Malas prácticas
  • 19.  Es el proceso de ocultar todos los detalles internos de un objeto del mundo exterior.  Es una barrera protectora que impide que el código y los datos sean accesibles al azar por otro código o por fuera de la clase. 19 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE Encapsulamiento
  • 20. 20 Accesor Mutador PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - ENCAPSULAMIENTO
  • 21. Una clase heredada de otra quiere decir que esa clase obtiene los mismos métodos y propiedades de la otra clase. 21 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE Jerarquía Herencia
  • 22. 22 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - HERENCIA
  • 23. Es la habilidad de dos o más objetos pertenecientes a diferentes clases para responder exactamente al mismo mensaje (llamada de método) de diferentes formas específicas de la clase. 23 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE Sobrecarga de métodos Polimorfismo
  • 24. 24 CLASS empleado DEFINITION. DATA nombre TYPE string. DATA apellido TYPE string. METHODS: modificarNombre IMPORTING i_nombre TYPE string, modificarNombre IMPORTING i_nombre TYPE string i_apellido TYPE string. ENDCLASS. Sobrecarga en ABAP4 PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - POLIMORFISMO
  • 25. 25 CLASS empleado IMPLEMENTATION. METHOD modificarNombre IMPORTING i_nombre TYPE string. nombre = i_nombre. ENDMETHOD. METHOD modificarNombre IMPORTING i_nombre TYPE string i_apellido TYPE string. nombre = i_nombre. apellido = i_apellido. ENDMETHOD. ENDCLASS. PROGRAMACIÓN ORIENTADA A OBJETOS – CONCEPTOS CLAVE - POLIMORFISMO Sobrecarga en ABAP4
  • 26. 5. PRINCIPIOS DE LA POO 6. VENTAJAS Y DESVENTAJAS 26 4. CONCEPTOS CLAVE
  • 27. Principios de la POO • Según Robert C. Martin existen 5 principios básicos que constituyen la programación orientada a objetos. 27 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO 18. Robert Cecil Martin
  • 28. 28 Principio de responsabilidad única PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO • Cada clase debe tener una única responsabilidad, y esta responsabilidad debe estar contenida únicamente en esa clase. • Cada responsabilidad es el eje y la razón de cambio. • Para contener la propagación del cambio, se deben separar las responsabilidades.
  • 29. 29 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – RESPONSABILIDAD ÚNICA 19. Principio de responsabilidad única
  • 30. 30  Una entidad (clase, módulo, función, etc.) debe quedarse abierta para su extensión, pero cerrada para su modificación.  Si un cambio impacta a varios módulos, entonces la aplicación no está bien diseñada.  Se deben diseñar módulos que procuren no cambiar y así, reutilizar el código más adelante (extensión). Principio de abierto - cerrado PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
  • 31. 31 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – ABIERTO/CERRADO
  • 32.  Si en alguna parte de un programa se utiliza una clase, y esta clase es extendida, se puede utilizar cualquiera de las clases hijas sin que existan modificaciones en el código.  Cada clase que hereda de otra puede usarse como su padre sin necesidad de conocer las diferencias entre ellas. 32 Principio de sustitución de Liskov PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO
  • 33. 33 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO– SUSTITUCIÓN DE LISKOV 21. Principio de sustitución de Liskov
  • 34. 34 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO • Este principio hace referencia a que muchas interfaces cliente específicas son mejores que una interfaz de propósito general. • Se aplica a una interfaz amplia y compleja para dividirla en otras más pequeñas y específicas, de tal forma que cada cliente use solo aquella que necesite pudiendo así ignorar al resto. Principio de segregación de interfaz
  • 35. 35 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – SEGREGACIÓN DE INTERFAZ
  • 36. 36  Interfaces detalladas.  Implementar métodos necesarios. PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – SEGREGACIÓN DE INTERFAZ 23. Principio de segregación de interfaz
  • 37.  Los módulos de alto nivel no deben depender de los módulos de bajo nivel. Ambos deben depender de abstracciones. 37 Principio de inversión de dependencias PROGRAMACIÓN ORIENTADA A OBJETOS - PRINCIPIOS DE LA POO
  • 38. 38 PROGRAMACIÓN ORIENTADA A OBJETOS – PRINCIPIOS DE LA POO – INVERSIÓN DE DEPENDENCIAS 25. Principio de inversión de dependencias
  • 39. 6. VENTAJAS Y DESVENTAJAS 7. LENGUAJES DE PROGRAMACIÓN 39 5. PRINCIPIOS DE LA POO
  • 40.  Reducción de código redundante, lo que permite un código conciso y sin repeticiones. (Herencia)  Posibilita reusar código y extenderlo a través de la clases sin necesidad de probarlo. (Testing)  La jerarquía y abstracción de los objetos brinda una implementación más detallada, puntual y coherente. 40 PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS. Ventajas
  • 41. ✓ La implementación de clases y objetos proporciona una relación más directa con la realidad al implementar funciones y métodos como comportamientos de las entidades. ✓ Bajo acoplamiento y alta cohesión: Gracias a la modularidad, cada componente o módulo de un desarrollo tiene independencia de los demás componentes. ✓ Facilidad en el desarrollo y el mantenimiento debido a la filosofía del paradigma. 41 PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS. Ventajas
  • 42. 42 PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS. 26. Diagrama de clases
  • 43.  Velocidad de ejecución.  Se hereda código no usable en la nueva clase.  El uso para tareas simples termina siendo improductivo. 43 PROGRAMACIÓN ORIENTADA A OBJETOS – VENTAJAS Y DESVENTAJAS. Desventajas
  • 44. 7. LENGUAJES DE PROGRAMACIÓN 8. APLICACIONES 44 6. VENTAJAS Y DESVENTAJAS
  • 45. Un lenguaje es orientado a objetos si cumple con lo siguiente: Soporta objetos que son abstracciones de datos con una interfaz de operaciones con nombre y un estado local oculto. Los objetos tienen un tipo asociado (la clase). Los tipos (clases) pueden heredar atributos de los supertipos (superclases). 45 Lenguajes de programación PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN
  • 46. 46  Eiffel  Ruby  Delphi  Muchos más  https://en.wikipedia.org/wiki/List_of_ob ject-oriented_programming_languages  SmallTalk (Entorno puro o “mundo virtual” de objetos)  Scala (Influido por Java)  Perl (Soporta herencia múltiple)  ABAP (SAP)  D (Rediseño de C++, influido por Eiffel, C#) Lenguajes de programación PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN
  • 47. 47 Ejemplo en PHP PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS Ejemplo en C++ 27, 28. Ejemplos de clases
  • 48. 48 Ejemplo en Python PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS Ejemplo en C# 29, 30. Ejemplos de clases
  • 49. 49 Ejemplo en C++ PROGRAMACIÓN ORIENTADA A OBJETOS – LENGUAJES DE PROGRAMACIÓN - EJEMPLOS
  • 50. 8. APLICACIONES 9. REFERENCIA Y BIBLIOGRAFÍA 50 7. LENGUAJES DE PROGRAMACIÓN
  • 51. “Cada elemento en el mundo real puede ser modelado e implementado como un objeto”.  Twitter es hecho en SCALA (Objetos)  Bases de datos orientadas a objetos.  Interfaces de usuario.  Modelamiento y simulación de agentes. 51 Aplicaciones PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES
  • 52. 52 31- 34. Imágenes aplicaciones PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES
  • 53. La serialización consiste en un proceso de codificación de un objeto en un medio de almacenamiento con el fin de transmitirlo a través de una conexión en red como una serie de bytes o en un formato más legible (XML, JSON): El objeto serializado pueda guardarse en un fichero o puede enviarse por red para reconstruirlo en otro lugar. El objeto copiado es un copia idéntica al original. 53 PROGRAMACIÓN ORIENTADA A OBJETOS – APLICACIONES Serialización
  • 54. Conceptos básicos de POO: o https://msdn.microsoft.com/es-co/library/bb972232.aspx o https://styde.net/que-es-la-programacion-orientada-a-objetos/ o http://c.conclase.net/curso/?cap=036 o Durán F. Gutierrez F. Pimentel E. Programación orientada a objetos con Java . 2007. Editorial Thomson. Madrid. Clases en Python o http://docs.python.org.ar/tutorial/2/classes.html Ventajas y aplicaciones de POO: o https://www.emaze.com/@ACZOZZLZ/poo 54 Referencias y Bibliografía PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA
  • 55. 55 Serialización: • https://es.wikipedia.org/wiki/Serializaci%C3%B3n Presentaciones de programación orientada objetos de cursos anteriores. • https://drive.google.com/drive/u/1/folders/0B7IRdmOoUVf5fjVBd1lvSmFvN0x mZmoteS1rQzN3cllTQVZRWnBhcGhBakxmazBQbEFKYmc • https://prezi.com/iechoqrsv1ur/programacion-orientada-a- objetos/?utm_campaign=share&utm_medium=copy • https://www.emaze.com/@ACZOZZLZ/poo Presentaciones del curso de programación orientada a objetos, Juan Mendivelso, UNAL. https://sites.google.com/a/unal.edu.co/poo2014-2/ Referencias y Bibliografía PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA
  • 56. 56 1. GitHub Pages – Paradigmas de programación: http://ferestrepoca.github.io/paradigmas-de-programacion/poo/poo_teoria/index.html 2. Fechas importantes https://www.timetoast.com/linea-del-tiempo-evolucion-de-los-lenguajes-de- programacion 3. Clase Carro http://www.aprenderaprogramar.com/index.php?option=com_content&view=article Referencias imágenes PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA 4 - 9. Abstracción, Clase, Objeto, Interfaz https://www.mindomo.com/es/mindmap/programacion-orientada-a-objetos- 699df6ea39c24846b53082db41e6f3b1 10. Modularidad. https://www.slideshare.net/CristianoCostantini/modular-java-with-osgi-and-karaf
  • 57. 57 11 – 16. Conceptos clave https://sites.google.com/a/unal.edu.co/poo2014-2/ 17, 19 - 24. SOLID Principles https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented- design 25. Robert Cecil Martin https://alchetron.com/Robert-Cecil-Martin-228711-W 27 - 30. Ejemplos de lenguajes http://ferestrepoca.github.io/paradigmas-de-programacion/ poo/poo_teoria/ examples.html 31 – 34. Aplicaciones. http://ferestrepoca.github.io/paradigmas-de- programacion/poo/poo_teoria/index.html#applications PROGRAMACIÓN ORIENTADA A OBJETOS – REFERENCIAS Y BIBLIOGRAFÍA