PROGRAMACIÓN ORIENTADA A OBJETOS

Documentos relacionados
INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

UNIVERSIDAD AUTÓNOMA DE CHIAPAS LICENCIATURA EN SISTEMAS COMPUTACIONALES

HERENCIA Y TIPOS. Articulo. Video Audio Altavoces. Amplificador

Introducción a la Orientación a Objetos

PROGRAMACION ORIENTADA A OBJETOS EN C++

PERSISTENCIA DE OBJETOS EN BASE DE DATOS RELACIONALES FRANCISCO LEÓN NAJERA CÓDIGO: CEDULA:

Universidad Salesiana de Bolivia

Programación orientada por objetos Semestre 6 Fascículo No. 1

Metodologías en la Ingeniería del Software Métodos Orientados a Objetos

Programación orientada a objetos. Capítulo 8 Mejora de las estructuras mediante herencia

Resultado de Aprendizaje:

Conceptos de Programación Orientada a Objetos

Programación Orientada a Objetos (POO)

Programación Orientada a Objetos

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD DE INGENIERÍA PROYECTO CURRICULAR DE INGENIERÍA INDUSTRIAL

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Desarrollador de Aplicaciones Web con Java

Introducción a la programación orientada a objetos

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET

Evolución de la Programación Orientada a Objetos

Programa de actualización profesional ACTI.NET Desarrollo de aplicaciones locales y web con tecnología VB.NET 2010

INGENIERÍA DEL SOFTWARE

La Herencia: Teoría (1)

Diseño Basado en Componentes. Curso 2008 / 09

Curso de Java POO: Programación orientada a objetos

Capítulo 16. Diagrama de Clases UML

INTRODUCCIÓN...9 CAPÍTULO 1. ELEMENTOS DE UN PROGRAMA INFORMÁTICO...11

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

Objeto Clase Atributo / Método Encapsulamiento Mensaje Herencia Polimorfismo Encadenamiento Dinámico

Aplicaciones de Escritorio

Computación Avanzada Clase 3. Mauricio Hidalgo Barrientos

Derechos de Acceso: COMPOSICION

Enfoque de Desarrollo de software OO

1. Asignar Responsabilidades a componentes de software es la habilidad más importante del AOO. Porque:

CLAVE ASIGNATURA REQUISITOS HORA/SEMANA CREDITOS TI-8 PROGRAMACION II 80% DE ASISTENCIA 4 6

20483 Programación en C#

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

UML: INTRODUCCIÓN, ORIENTACIÓN a Objetos

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

ESCUELA DE INFORMÁTICA

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Lenguaje de programación con JAVA

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO IBEROTEC SEMESTRE ACADÉMICO: 2014-II SÍLABO

Estructuras de Datos y Algoritmos. Primeros ejemplos de TDA

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

PROGRAMA INSTRUCCIONAL

Índice de contenido. Índice de contenido... i Indice de prácticas...ix Prólogo...xi Cómo utilizar este libro...xv

COMPONENTES Y CONTENEDORES. Ingeniería de Software II


UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Curso Fundamentos de Informática Lección 7. Programación Orientada a Objetos

TEMA I PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN N ORIENTADA A OBJETOS OBJETOS (I) OBJETOS (II)

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

Ingeniería del Software de Gestión II 2 de febrero de 2005 Pág: 1/8. Apellidos: Nombre: Núm.:

Python: Programación Orientada. JESSE PADILLA AGUDELO Ingeniero Electrónico

MASTER PROFESIONAL C# 5 Y ASP.NET MVC 5

Modularidad: Tipos abstractos de datos Programación Orientada a Objetos Tema 2: Modularidad

Herencia. Hay clases que comparten gran parte de sus características.

Aprender a desarrollar con JavaScript

TALLER FINAL DE ALGORITMO Y PROGRAMACION ORIENTADA A OBJETOS I (POOI) PRESENTADO POR: GUSTAVO ENRRIQUE SINNING FUENTES. VIRTOR FABIAN RIZO.

b) Qué tipo de variable son las de la línea 6? Cuál es su visibilidad? Explique su

Enterprise Architect:

PROGRAMA DE CURSO. Metodologías de Diseño y Programación. Nombre en Inglés. Design and Programming Methodologies.

Interfaces y Clases Internas. ELO329: Diseño y Programación Orientados a Objetos

CLA. Diagramas de clases en Métrica V3

Programación orientada a objetos. Resumen de Temas Unidad 6: Polimorfismo y reutilización

Transformaciones entre el modelo Relacional y el modelo de Clases.

Lenguaje de Programación

Capítulo III: MARCO METODOLÓGICO

PATRONES DE DISEÑO DE CREACIÓN. Abstract Factory Builder Factory Method Prototype

Programación Orientada a Objetos

Una Clase: define un grupo de objetos que tienen propiedades similares y se comportan de manera similar.

2.2.- Paradigmas de la POO

Instituto Schneider Electric de Formación

Requerimientos de Software

1. Computadores y programación

Planificaciones Análisis de la Información. Docente responsable: GONZALEZ NORBERTO DANIEL. 1 de 6

Lenguaje de Modelamiento Unificado.

Curso de Java POO: Programación orientada a objetos

La clase Integer y sus métodos. Los Operadores (concepto). Operadores Lógicos y a nivel de Bits. Operadores de desplazamiento. Concatenaciones. La Con

Introducción a las Bases de Datos

PROGRAMACIÓN ORIENTADA A OBJETOS CON JAVA

DIAGRAMAS UML ANDRÉS ESTEBAN MARTÍNEZ HUTA CICLO DE VIDA DEL SOFTWARE GLORIA CECILIA RÍOS MUÑOZ

Programación Orientada a Objetos

JAVA -INTRODUCCIÓN AL LENGUAJE

Evaluación Diagnóstico puesta en común. Escuela Técnica ORT - TIC

Tema 4 Introducción a la Orientación a Objetos. Ingeniería del Software I

Serialización de datos en C# en Binario, Soap y Xml

Ingeniería de Software II Tema 2: Diseño

CARRERA DE CIECNIAS DE LA COMPUTACIÓN PROGRAMA DE ESTUDIO. Teóricos: 2 Práctico: 1 Total 3

Guía del Curso Analista Programador Java: Business Apps Expert

Modulo 11. Clases y Objetos en Java

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

JAVA 7 Los fundamentos del lenguaje Java

Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316

Capítulo 3 Análisis Orientado a Objetos

Diagramas De Casos De Uso

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

Definición Criterios de elección Paradigmas. Conclusiones. Grafos/Iconos Time-line Jerarquía de objetos Programado/scripts

Transcripción:

PROGRAMACIÓN ORIENTADA A OBJETOS SEBASTIÁN DAVID MORENO BERNAL CRISTIAN CAMILO ORJUELA VELANDIA LENGUAJES DE PROGRAMACIÓN 24/04/2017

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 CONTENIDO PROGRAMACIÓN ORIENTADA A OBJETOS - CONTENIDO 2

1. INTRODUCCIÓN 2. HISTORIA 3

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. PROGRAMACIÓN ORIENTADA A OBJETOS - INTRODUCCIÓN 4

1. INTRODUCCIÓN 2. HISTORIA 3. FILOSOFÍA DEL PARADIGMA 5

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 PROGRAMACIÓN ORIENTADA A OBJETOS - HISTORIA 6

Línea del tiempo [ ] 50 67 80 s 96 2000 2010 Hoy PROGRAMACIÓN ORIENTADA A OBJETOS HISTORIA 7

2. HISTORIA 3. FILOSOFÍA DEL PARADIGMA 4. CONCEPTOS CLAVE 8

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. 3. Car Class Example Definir los métodos, propiedades y características de los objetos así como su relación(interacción). PROGRAMACIÓN ORIENTADA A OBJETOS FILOSOFÍA DEL PARADIGMA 9

3. FILOSOFÍA DEL PARADIGMA 4. CONCEPTOS CLAVE 5. PRINCIPIOS DE LA POO 10

Abstracción Modularidad Encapsulamiento Herencia Polimorfismo PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 11

Abstracción 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. PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 4. Abstracción 12

Clase Son tipos complejos que tienen múltiples piezas de información con propiedades (o atributos) y comportamientos (o métodos). Instancia Objeto Atributo Método Constructor PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - ABSTRACCIÓN 13

Diagrama de clases Profesor 1 enseña 1..* Grupo Un profesor enseña a uno o más grupos PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - ABSTRACCIÓN 14

Clase Abstracta Interfaz 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 15

PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE CLASE ABSTRACTA VS INTERFAZ 16

Modularidad 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. PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 10. Modularidad en Java 17

Malas prácticas PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - MODULARIDAD 18

Encapsulamiento 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. PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 19

Accesor Mutador PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - ENCAPSULAMIENTO 20

Herencia Una clase heredada de otra quiere decir que esa clase obtiene los mismos métodos y propiedades de la otra clase. Jerarquía PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 21

PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - HERENCIA 22

Polimorfismo 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. Sobrecarga de métodos PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE 23

Sobrecarga en ABAP4 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. PROGRAMACIÓN ORIENTADA A OBJETOS CONCEPTOS CLAVE - POLIMORFISMO 24

Sobrecarga en ABAP4 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 25

4. CONCEPTOS CLAVE 5. PRINCIPIOS DE LA POO 6. VENTAJAS Y DESVENTAJAS 26

Principios de la POO Según Robert C. Martin existen 5 principios básicos que constituyen la programación orientada a objetos. PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO 18. Robert Cecil Martin 27

Principio de responsabilidad única 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. PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO 28

19. Principio de responsabilidad única PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO RESPONSABILIDAD ÚNICA 29

Principio de abierto - cerrado 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). PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO 30

PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO ABIERTO/CERRADO 31

Principio de sustitución de Liskov 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. PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO 32

21. Principio de sustitución de Liskov PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO SUSTITUCIÓN DE LISKOV 33

Principio de segregación de interfaz 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. PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO 34

PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO SEGREGACIÓN DE INTERFAZ 35

Interfaces detalladas. Implementar métodos necesarios. 23. Principio de segregación de interfaz PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO SEGREGACIÓN DE INTERFAZ 36

Principio de inversión de dependencias Los módulos de alto nivel no deben depender de los módulos de bajo nivel. Ambos deben depender de abstracciones. PROGRAMACIÓN ORIENTADA A OBJETOS - PRINCIPIOS DE LA POO 37

25. Principio de inversión de dependencias PROGRAMACIÓN ORIENTADA A OBJETOS PRINCIPIOS DE LA POO INVERSIÓN DE DEPENDENCIAS 38

5. PRINCIPIOS DE LA POO 6. VENTAJAS Y DESVENTAJAS 7. LENGUAJES DE PROGRAMACIÓN 39

Ventajas 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. PROGRAMACIÓN ORIENTADA A OBJETOS VENTAJAS Y DESVENTAJAS. 40

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. PROGRAMACIÓN ORIENTADA A OBJETOS VENTAJAS Y DESVENTAJAS. 41

26. Diagrama de clases PROGRAMACIÓN ORIENTADA A OBJETOS VENTAJAS Y DESVENTAJAS. 42

Desventajas Velocidad de ejecución. Se hereda código no usable en la nueva clase. El uso para tareas simples termina siendo improductivo. PROGRAMACIÓN ORIENTADA A OBJETOS VENTAJAS Y DESVENTAJAS. 43

6. VENTAJAS Y DESVENTAJAS 7. LENGUAJES DE PROGRAMACIÓN 8. APLICACIONES 44

Lenguajes de programación 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). PROGRAMACIÓN ORIENTADA A OBJETOS LENGUAJES DE PROGRAMACIÓN 45

Lenguajes de programación 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#) Eiffel Ruby Delphi Muchos más https://en.wikipedia.org/wiki/list_of_ob ject-oriented_programming_languages PROGRAMACIÓN ORIENTADA A OBJETOS LENGUAJES DE PROGRAMACIÓN 46

Ejemplo en PHP Ejemplo en C++ 27, 28. Ejemplos de clases PROGRAMACIÓN ORIENTADA A OBJETOS LENGUAJES DE PROGRAMACIÓN - EJEMPLOS 47

Ejemplo en Python Ejemplo en C# 29, 30. Ejemplos de clases PROGRAMACIÓN ORIENTADA A OBJETOS LENGUAJES DE PROGRAMACIÓN - EJEMPLOS 48

Ejemplo en C++ PROGRAMACIÓN ORIENTADA A OBJETOS LENGUAJES DE PROGRAMACIÓN - EJEMPLOS 49

7. LENGUAJES DE PROGRAMACIÓN 8. APLICACIONES 9. REFERENCIA Y BIBLIOGRAFÍA 50

Aplicaciones 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. PROGRAMACIÓN ORIENTADA A OBJETOS APLICACIONES 51

31-34. Imágenes aplicaciones PROGRAMACIÓN ORIENTADA A OBJETOS APLICACIONES 52

Serialización 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. PROGRAMACIÓN ORIENTADA A OBJETOS APLICACIONES 53

Referencias y Bibliografía Conceptos básicos de POO: o o o https://msdn.microsoft.com/es-co/library/bb972232.aspx https://styde.net/que-es-la-programacion-orientada-a-objetos/ 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 PROGRAMACIÓN ORIENTADA A OBJETOS REFERENCIAS Y BIBLIOGRAFÍA 54

Referencias y Bibliografía 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-aobjetos/?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/ PROGRAMACIÓN ORIENTADA A OBJETOS REFERENCIAS Y BIBLIOGRAFÍA 55

Referencias imágenes 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-deprogramacion 3. Clase Carro http://www.aprenderaprogramar.com/index.php?option=com_content&view=article 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 PROGRAMACIÓN ORIENTADA A OBJETOS REFERENCIAS Y BIBLIOGRAFÍA 56

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-orienteddesign 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-deprogramacion/poo/poo_teoria/index.html#applications PROGRAMACIÓN ORIENTADA A OBJETOS REFERENCIAS Y BIBLIOGRAFÍA 57