La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguajes de la Programación Clase numero 2. Temario Modulo I - Introducción al programa +MAS - Programación Orientada a Objetos. (1ra Parte) - Introducción.

Presentaciones similares


Presentación del tema: "Lenguajes de la Programación Clase numero 2. Temario Modulo I - Introducción al programa +MAS - Programación Orientada a Objetos. (1ra Parte) - Introducción."— Transcripción de la presentación:

1 Lenguajes de la Programación Clase numero 2

2 Temario Modulo I - Introducción al programa +MAS - Programación Orientada a Objetos. (1ra Parte) - Introducción -.NET Framework 2.0. (1ra Parte) - Componentes Principales Modulo II - IDE Visual Studio 2005 (1ra Parte) - Presentación. - Herramientas principales - Sintaxis de los lenguajes. (1ra Parte) - Tipos - Estructuras lógicas

3 Modulo III -.NET Framework 2.0 (2da Parte) - Assemblies - Creación de proyectos - Programación Orientada a Objetos (2da Parte) - Conceptos Avanzados - Interfases - Sintaxis (2da Parte) - Manejo de Excepciones Modulo III -.NET Framework 2.0 (2da Parte) - Assemblies - Creación de proyectos - Programación Orientada a Objetos (2da Parte) - Conceptos Avanzados - Interfases - Sintaxis (2da Parte) - Manejo de Excepciones Modulo IV Examen “.Net Essencial” rendido (estrella 0) - Sintaxis (3ra Parte) - Lenguajes de.NET y POO - IDE Visual Studio 2005 (2da Parte) - Integración con POO Modulo IV Examen “.Net Essencial” rendido (estrella 0) - Sintaxis (3ra Parte) - Lenguajes de.NET y POO - IDE Visual Studio 2005 (2da Parte) - Integración con POO

4 Modulo V - IDE Visual Studio 2005 (3ra Parte) - Herramientas avanzadas de la aplicación Modulo VI - Base Class Library ( 1ra Parte) - Introducción - Aplicaciones tipo consola - Manejo de strings - XML - Entrada y salida de archivos - Compresión - Colecciones de objetos

5 Evaluaciones 3 pruebas solemnes 80% acumulativas en cátedra. 3 pruebas solemnes 80% acumulativas en cátedra. Nota promedio de ayudantía 20% Nota promedio de ayudantía 20% Examen del 30%. Examen del 30%. Nota final se calcula con el 70% del promedio de notas incluyendo cátedra, ayudantía y laboratorio, más otro 30% que es otorgado por un examen. Nota final se calcula con el 70% del promedio de notas incluyendo cátedra, ayudantía y laboratorio, más otro 30% que es otorgado por un examen.

6 Bibliografía APRENDA VISUAL BASIC 2005 USANDO VISUAL STUDIO 2005 RAMIREZ APRENDA VISUAL BASIC 2005 USANDO VISUAL STUDIO 2005 RAMIREZ

7 Inscripción Vaya a la siguiente dirección Vaya a la siguiente dirección http://www.mslatam.com/latam/msdn/comunidad/dce2005/ Se elige la opción Iniciar sesión.

8 Pantalla de registro

9 Formulario de registro

10 Después saldrá un mensaje de que su sesión a espirado pero al entrar de nuevo Saludo de bienvenida y certificaciones activas Cursos ( estrellas a disposicion )

11 Estrella 0 - Fundame ntos de la Programación Programa Microsoft Desarrollador Cinco Estrellas

12 Prerrequisitos El presente curso asumirá conocimientos básicos de El presente curso asumirá conocimientos básicos de Computadora - Ordenador Computadora - Ordenador Dispositivos de Entrada/Salida Dispositivos de Entrada/Salida Organización Física de una computadora (CPU, Memoria) Organización Física de una computadora (CPU, Memoria) Sistemas Operativos Sistemas Operativos

13 El Software Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Las operaciones que debe realizar el hardware son especificadas con una lista de instrucciones, llamadas programas o software. Dos grandes grupos de software Dos grandes grupos de software Software del Sistema Software del Sistema Indispensable para que la máquina funcione y poder escribir programas de aplicación Indispensable para que la máquina funcione y poder escribir programas de aplicación Software de Aplicación Software de Aplicación Realizan tareas concretas que tienen utilidad para ciertos usuarios Realizan tareas concretas que tienen utilidad para ciertos usuarios

14 Lenguajes de Programación (1/2) Lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas Lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas Se clasifican en tres grandes categorías Se clasifican en tres grandes categorías lenguajes de máquina lenguajes de máquina instrucciones directamente entendibles por la computadora (lenguaje binario) instrucciones directamente entendibles por la computadora (lenguaje binario) lenguajes de bajo nivel lenguajes de bajo nivel Proveen un juego de instrucciones más comprensibles por los humanos Proveen un juego de instrucciones más comprensibles por los humanos lenguajes de alto nivel lenguajes de alto nivel

15 Lenguajes de Programación (2/2) Lenguajes de alto nivel Lenguajes de alto nivel Utilizan instrucciones escritas con palabras similares a los lenguajes humanos Utilizan instrucciones escritas con palabras similares a los lenguajes humanos Son independientes de la máquina en la que se ejecutan Son independientes de la máquina en la que se ejecutan Necesitan ser traducidos a instrucciones en lenguaje máquina (Compilación) Necesitan ser traducidos a instrucciones en lenguaje máquina (Compilación) Existen diversos tipos Existen diversos tipos Estructurados Estructurados Orientados a Objetos Orientados a Objetos Declarativos Declarativos Funcionales Funcionales

16 Resolución de problemas con computadora El proceso de diseñar un programa es, esencialmente, un proceso creativo. El proceso de diseñar un programa es, esencialmente, un proceso creativo. Sin embargo, hay una serie de pasos comunes a seguir: Sin embargo, hay una serie de pasos comunes a seguir: Análisis del problema Análisis del problema Diseño del algoritmo solución Diseño del algoritmo solución Codificación Codificación Compilación y Ejecución Compilación y Ejecución Verificación Verificación Depuración Depuración Documentación Documentación

17 Entorno de Programación También conocidos como IDEs También conocidos como IDEs Herramienta esencial a la hora de desarrollar software Herramienta esencial a la hora de desarrollar software Incluye Incluye Editor Editor Intérprete o Compilador Intérprete o Compilador Depurador Depurador Ayuda en línea Ayuda en línea

18 Tipos de Datos Datos: piezas de información con las que un programa trabaja Datos: piezas de información con las que un programa trabaja Cada dato tiene asociado un único Tipo Cada dato tiene asociado un único Tipo El Tipo de Dato determina la naturaleza del conjunto de valores que un dato puede tomar El Tipo de Dato determina la naturaleza del conjunto de valores que un dato puede tomar Ejemplos: Ejemplos: Número Entero Número Entero Número Real Número Real Cadena de Caracteres Cadena de Caracteres Valor Lógico (Verdadero o Falso) Valor Lógico (Verdadero o Falso)

19 Variables y Constantes Existen dos grupos principales de datos Existen dos grupos principales de datos Constantes: su valor no puede cambiar durante la ejecución de un programa Constantes: su valor no puede cambiar durante la ejecución de un programa Variables: su valor puede cambiar durante la ejecución de un programa Variables: su valor puede cambiar durante la ejecución de un programa Ambas tienen un nombre y un valor Ambas tienen un nombre y un valor Ambas permiten representar mediante un nombre a una posición de memoria que contiene el valor Ambas permiten representar mediante un nombre a una posición de memoria que contiene el valor

20 Sentencias Describen acciones algorítmicas que pueden ser ejecutadas Describen acciones algorítmicas que pueden ser ejecutadas Se clasifican en Se clasifican en Ejecutables / No ejecutables Ejecutables / No ejecutables Simples / Estructuradas Simples / Estructuradas

21 Operadores y Expresiones (1/2) Sirven para procesar variables y constantes Sirven para procesar variables y constantes Una expresión es un conjunto de datos unidos por operadores que tiene un único resultado Una expresión es un conjunto de datos unidos por operadores que tiene un único resultado Expresiones aritméticas Expresiones aritméticas El resultado es un número El resultado es un número a = ((2+6) / 8) * 3 a = ((2+6) / 8) * 3 Expresiones lógicas Expresiones lógicas El resultado es un valor verdadero o falso El resultado es un valor verdadero o falso (a 50) (a 50)

22 Operadores y Expresiones (2/2) Existen diversos tipos Existen diversos tipos Aritméticos: suma, resta, multiplicación, etc. Aritméticos: suma, resta, multiplicación, etc. De relación: igual, mayor, menor, distinto, etc. De relación: igual, mayor, menor, distinto, etc. Lógicos: and, or, not, etc. Lógicos: and, or, not, etc.

23 Estructuras de Control El orden de ejecución de las sentencias de un programa determina su flujo de control El orden de ejecución de las sentencias de un programa determina su flujo de control Las estructuras de control permiten alterar el orden del flujo de control Las estructuras de control permiten alterar el orden del flujo de control Existen dos tipos básicos Existen dos tipos básicos De Selección De Selección De Repetición o Iteración De Repetición o Iteración

24 Estructuras de Control Selectivas (1/2) Dirigen el flujo de ejecución según el resultado de evaluación de expresiones Dirigen el flujo de ejecución según el resultado de evaluación de expresiones IF IF si expresion_logica si expresion_logica entonces hacer acción A sino hacer acción B sino hacer acción Bfin_si

25 Estructuras de Control Selectivas (2/2) CASE CASE según_sea selector hacer según_sea selector hacer C11,C12,…: sentencia 1 C21,C22,…: sentencia 2 C21,C22,…: sentencia 2….. [sino sentencia x] fin_según

26 Estructuras de Control Repetitivas (1/3) Permiten ejecutar un conjunto de sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla una determinada condición Permiten ejecutar un conjunto de sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla una determinada condición El conjunto de sentencias se denomina bucle El conjunto de sentencias se denomina bucle Cada repetición del cuerpo del bucle se denomina iteración Cada repetición del cuerpo del bucle se denomina iteración

27 Estructuras de Control Repetitivas (2/3) WHILE WHILE mientras condición hacer mientras condición hacersentencia/s…..fin_mientras

28 Estructuras de Control Repetitivas (3/3) FOR FOR desde hasta hacer desde variable  valor_inicial hasta valor_final hacersentencia/s…..fin_desde

29 Procedimientos y Funciones (4/4) Ventajas de utilizar procedimientos Ventajas de utilizar procedimientos Facilita el diseño descendiente y modular Facilita el diseño descendiente y modular Promueven la reutilización de código Promueven la reutilización de código Facilita la división de tareas Facilita la división de tareas Pueden comprobarse individualmente Pueden comprobarse individualmente Pueden encapsularse en bibliotecas independientes Pueden encapsularse en bibliotecas independientes

30 Visibilidad de Variables Variable Local: Variable Local: Declarada en un subprograma Declarada en un subprograma Sólo está disponible durante el funcionamiento del subprograma Sólo está disponible durante el funcionamiento del subprograma Su valor se pierde una vez que el subprograma termina Su valor se pierde una vez que el subprograma termina Variable Global: Variable Global: Declarada en el programa principal Declarada en el programa principal Está disponible en el programa principal y en todos los subprogramas Está disponible en el programa principal y en todos los subprogramas Su valor se pierde una vez que el programa principal termina Su valor se pierde una vez que el programa principal termina

31 Bibliotecas Archivo independiente que contiene un conjunto de subprogramas Archivo independiente que contiene un conjunto de subprogramas Pueden ser incluidas y referenciadas en el desarrollo de múltiples programas Pueden ser incluidas y referenciadas en el desarrollo de múltiples programas Facilitan la modularización de un programa Facilitan la modularización de un programa Desarrollo  Programa Fuente Desarrollo  Programa Fuente Compilación  Programa Objeto Compilación  Programa Objeto Link-Edición  Programa Ejecutable Link-Edición  Programa Ejecutable

32 Arrays (Arreglos) (1/3) Son estructuras de datos en las que se almacenan un conjunto de datos finitos del mismo tipo Son estructuras de datos en las que se almacenan un conjunto de datos finitos del mismo tipo Almacenan sus elementos en posiciones de memoria contiguas Almacenan sus elementos en posiciones de memoria contiguas Tienen un único nombre de variable que representa a todos los elementos Tienen un único nombre de variable que representa a todos los elementos Permiten acceso directo o aleatorio a sus elementos individuales Permiten acceso directo o aleatorio a sus elementos individuales Los arrays se clasifican en unidimensionales y multidimensionales. Los arrays se clasifican en unidimensionales y multidimensionales.

33 Arrays (Arreglos) (2/3) Arrays unidimensionales (Vectores) Arrays unidimensionales (Vectores) Número finito de elementos Número finito de elementos Tamaño Fijo Tamaño Fijo Elementos Homogéneos Elementos Homogéneos Se accede a los elementos utilizando el nombre del array y el subíndice específico Se accede a los elementos utilizando el nombre del array y el subíndice específico Ejemplo: Ejemplo: salarios(3) Reales  Nombre del array, de 3 posiciones que contendrán número reales salarios(3) Reales  Nombre del array, de 3 posiciones que contendrán número reales salarios[1] = 23,4  Asignación de un valor al primer elemento del array salarios[1] = 23,4  Asignación de un valor al primer elemento del array

34 Arrays (Arreglos) (3/3) Arrays multidimensionales Arrays multidimensionales Arrays bidimensionales (Matrices o Tablas) Arrays bidimensionales (Matrices o Tablas) Tienen dos índices, uno para filas y otro para columnas Tienen dos índices, uno para filas y otro para columnas Ejemplo: Ejemplo: tabla(3,3) enteros  Declaración de una matriz de 3 por 3 tabla [1][1] = 2  Elemento de la primer fila y primer columna tabla [2][3] = 5  Elemento de la segunda fila y la tercer columna

35 El estilo de Programación Una de las características más importantes de un buen programador Una de las características más importantes de un buen programador Un buen estilo facilita la comprensión, corrección y mantenimiento de un programa Un buen estilo facilita la comprensión, corrección y mantenimiento de un programa Algunos puntos a tener en cuenta Algunos puntos a tener en cuenta Comentarios Comentarios Elección de nombres significativos Elección de nombres significativos Identación Identación Espacios y Líneas en Blanco Espacios y Líneas en Blanco Validación usando datos de prueba Validación usando datos de prueba

36 El mundo color de Objetos Todo el mundo está compuesto de entidades que se relacionan e interactúan entre si Todo el mundo está compuesto de entidades que se relacionan e interactúan entre si ¿Qué es un Objeto? ¿Qué es un Objeto? Todo es un Objeto ¡¿~?! Todo es un Objeto ¡¿~?! ¿Es lo mismo de siempre con otro nombre? ¿Es lo mismo de siempre con otro nombre? Pensar en Objetos …. Pensar en Objetos …. No es el último grito de la moda (1980s) No es el último grito de la moda (1980s)

37 El mundo color de Objetos ¿Por qué Orientación a Objetos (OO)? ¿Por qué Orientación a Objetos (OO)? Se parece más al mundo real Se parece más al mundo real Permite representar modelos complejos Permite representar modelos complejos Muy apropiada para aplicaciones de negocios Muy apropiada para aplicaciones de negocios Las empresas ahora sí aceptan la OO Las empresas ahora sí aceptan la OO Las nuevas plataformas de desarrollo la han adoptado (Java /.NET) Las nuevas plataformas de desarrollo la han adoptado (Java /.NET)

38 Temas a Tratar Paradigmas de Programación Paradigmas de Programación Clases y Objetos Clases y Objetos Modificadores de Acceso Modificadores de Acceso ¿Qué es UML? ¿Qué es UML? Principios de la Orientación a Objetos Principios de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos Conceptos del Diseño Orientado a Objetos

39 ¿Qué es un Objeto? Informalmente, un objeto representa una entidad del mundo real Informalmente, un objeto representa una entidad del mundo real Entidades Físicas Entidades Físicas (Ej.: Vehículo, Casa, Producto) (Ej.: Vehículo, Casa, Producto) Entidades Conceptuales Entidades Conceptuales (Ej.: Proceso Químico, Transacción Bancaria) (Ej.: Proceso Químico, Transacción Bancaria) Entidades de Software Entidades de Software (Ej.: Lista Enlazada, Interfaz Gráfica) (Ej.: Lista Enlazada, Interfaz Gráfica)

40 ¿Qué es un Objeto? Definición Formal (Rumbaugh): Definición Formal (Rumbaugh): “Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión” “Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión” Un objeto posee (Booch): Un objeto posee (Booch): Estado Estado Comportamiento Comportamiento Identidad Identidad

41 Un objeto posee Estado Lo que el objeto sabe Lo que el objeto sabe El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado normalmente cambia en el transcurso del tiempo El estado normalmente cambia en el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (atributos), además de las conexiones que puede tener con otros objetos El estado de un objeto es implementado por un conjunto de propiedades (atributos), además de las conexiones que puede tener con otros objetos

42 Un objeto posee Comportamiento Lo que el objeto puede hacer Lo que el objeto puede hacer El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos El comportamiento de un objeto determina cómo éste actúa y reacciona frente a las peticiones de otros objetos Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante métodos Se implementa mediante métodos

43 Un objeto posee Identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto

44 ¿Qué es una Clase? Una clase es una descripción de un grupo de objetos con: Una clase es una descripción de un grupo de objetos con: Propiedades en común (atributos) Propiedades en común (atributos) Comportamiento similar (operaciones) Comportamiento similar (operaciones) La misma forma de relacionarse con otros objetos (relaciones) La misma forma de relacionarse con otros objetos (relaciones) Una semántica en común (significan lo mismo) Una semántica en común (significan lo mismo) Una clase es una abstracción que: Una clase es una abstracción que: Enfatiza las características relevantes Enfatiza las características relevantes Suprime otras características (simplificación) Suprime otras características (simplificación) Un objeto es una instancia de una clase Un objeto es una instancia de una clase

45 Objetos y Clases Una clase es una definición abstracta de un objeto Una clase es una definición abstracta de un objeto Define la estructura y el comportamiento compartidos por los objetos Define la estructura y el comportamiento compartidos por los objetos Sirve como modelo para la creación de objetos Sirve como modelo para la creación de objetos Los objetos pueden ser agrupados en clases Los objetos pueden ser agrupados en clases

46 Ejemplo de una Clase Clase: Curso Clase: Curso Estado (Atributos) Estado (Atributos) Nombre Nombre Ubicación Ubicación Días Ofrecidos Días Ofrecidos Horario de Inicio Horario de Inicio Horario de Término Horario de Término Comportamiento (Métodos) Comportamiento (Métodos) Agregar un Alumno Agregar un Alumno Borrar un Alumno Borrar un Alumno Entregar un Listado del Curso Entregar un Listado del Curso Determinar si está Completo Determinar si está Completo

47 Ejemplo de una Clase Clase: Curso Clase: Curso Estado (Atributos) Estado (Atributos) Nombre Nombre Ubicación Ubicación Días Ofrecidos Días Ofrecidos Horario de Inicio Horario de Inicio Horario de Término Horario de Término Comportamiento (Métodos) Comportamiento (Métodos) Agregar un Alumno Agregar un Alumno Borrar un Alumno Borrar un Alumno Entregar un Listado del Curso Entregar un Listado del Curso Determinar si está Completo Determinar si está Completo

48 Temas a Tratar Paradigmas de Programación Paradigmas de Programación Clases y Objetos Clases y Objetos Modificadores de Acceso Modificadores de Acceso ¿Qué es UML? ¿Qué es UML? Pilares de la Orientación a Objetos Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos Conceptos del Diseño Orientado a Objetos

49 Modificadores de Acceso Permiten definir el nivel de acceso (visibilidad) de los miembros (atributos o métodos) de una clase Permiten definir el nivel de acceso (visibilidad) de los miembros (atributos o métodos) de una clase Publico: Cualquier clase puede “ver” los miembros públicos de otra clase Publico: Cualquier clase puede “ver” los miembros públicos de otra clase Privado: Sólo la clase puede ver sus propios miembros privados Privado: Sólo la clase puede ver sus propios miembros privados Existen otros dos modificadores para propósitos específicos (Paquete, Protegido) Existen otros dos modificadores para propósitos específicos (Paquete, Protegido)

50 Temas a Tratar Paradigmas de Programación Paradigmas de Programación Clases y Objetos Clases y Objetos Modificadores de Acceso Modificadores de Acceso ¿Qué es UML? ¿Qué es UML? Pilares de la Orientación a Objetos Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos Conceptos del Diseño Orientado a Objetos

51 ¿Qué es UML? “UML es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Object Management Group) “UML es un lenguaje visual para especificar, construir y documentar sistemas” (OMG - Object Management Group) Unified (UNIFICADO): Unified (UNIFICADO): El aporte de muchos métodos y notaciones El aporte de muchos métodos y notaciones Independiente de implementaciones, plataformas y lenguajes Independiente de implementaciones, plataformas y lenguajes Modeling (MODELADO): Modeling (MODELADO): Los modelos son utilizados en todas las ingenierías Los modelos son utilizados en todas las ingenierías Language (LENGUAJE): Language (LENGUAJE): Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común ¡UML no es Metodología! ¡UML no es Metodología!

52 Una Clase en UML Una clase está compuesta de tres secciones Una clase está compuesta de tres secciones La primera sección contiene el nombre de la clase La primera sección contiene el nombre de la clase La segunda sección muestra la estructura (atributos) La segunda sección muestra la estructura (atributos) La tercera sección muestra el comportamiento (operaciones) La tercera sección muestra el comportamiento (operaciones) La segunda y la tercera sección pueden ser suprimidas La segunda y la tercera sección pueden ser suprimidas Modificadores de Acceso Modificadores de Acceso Los miembros públicos se denotan con el signo “+” Los miembros públicos se denotan con el signo “+” Los miembros privados se denotan con el signo “–” Los miembros privados se denotan con el signo “–”

53 Temas a Tratar Paradigmas de Programación Paradigmas de Programación Clases y Objetos Clases y Objetos Modificadores de Acceso Modificadores de Acceso ¿Qué es UML? ¿Qué es UML? Pilares de la Orientación a Objetos Pilares de la Orientación a Objetos Conceptos del Diseño Orientado a Objetos Conceptos del Diseño Orientado a Objetos

54 Pilares de la Orientación a Objetos Relaciones Herencia Abstracción Encapsulamiento

55 Abstracción Ignorancia Selectiva Ignorancia Selectiva La abstracción nos ayuda a trabajar con cosas complejas La abstracción nos ayuda a trabajar con cosas complejas Se enfoca en lo importante Se enfoca en lo importante Ignora lo que no es importante (simplifica) Ignora lo que no es importante (simplifica) Una clase es una abstracción en la que: Una clase es una abstracción en la que: Se enfatizan las características relevantes Se enfatizan las características relevantes Se suprimen otras características Se suprimen otras características Una clase debe capturar una y solo una abstracción clave Una clase debe capturar una y solo una abstracción clave

56 Encapsulamiento Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos Deben ser declarados como privados Deben ser declarados como privados Permite abstraer al resto del mundo de la complejidad de la implementación interna Permite abstraer al resto del mundo de la complejidad de la implementación interna Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos ¿Por qué es útil? ¿Por qué es útil? Punto de Control/Validación Punto de Control/Validación Mejor respuesta ante los Cambios Mejor respuesta ante los Cambios

57 Relaciones Todo sistema abarca muchas clases y objetos Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento de un sistema colaborando entre si Los objetos contribuyen en el comportamiento de un sistema colaborando entre si La colaboración se logra a través de las relaciones La colaboración se logra a través de las relaciones Existen dos tipos principales de relaciones Existen dos tipos principales de relaciones Asociación Asociación Agregación Agregación

58 Relaciones de Asociación Una asociación es una conexión entre dos clases que representa una comunicación Una asociación es una conexión entre dos clases que representa una comunicación Una asociación puede tener nombre Una asociación puede tener nombre La comunicación puede ser tanto uni como bi- direccional (por defecto) La comunicación puede ser tanto uni como bi- direccional (por defecto) La multiplicidad es el número de instancias que participan en una asociación La multiplicidad es el número de instancias que participan en una asociación Ejemplo: Ejemplo: Una Persona es Dueña de un Vehículo Una Persona es Dueña de un Vehículo Un Vehículo Pertenece a una Persona Un Vehículo Pertenece a una Persona

59 Relaciones de Agregación La agregación es una forma especial de asociación donde un todo se relaciona con sus partes La agregación es una forma especial de asociación donde un todo se relaciona con sus partes También se conoce como “una parte de” o una relación de contención También se conoce como “una parte de” o una relación de contención Ejemplo: Ejemplo: Una Puerta es una parte de un Vehículo Una Puerta es una parte de un Vehículo El Vehículo es azul, la Puerta es Azul El Vehículo es azul, la Puerta es Azul Mover el Vehículo implica mover la Puerta Mover el Vehículo implica mover la Puerta

60 Herencia Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) Cada clase que hereda de otra posee: Cada clase que hereda de otra posee: Los atributos de la clase base además de los propios Los atributos de la clase base además de los propios Soporta todos o algunos de los métodos de la clase base Soporta todos o algunos de los métodos de la clase base Una subclase hereda de una clase base Una subclase hereda de una clase base Clase Base Clases Derivadas o subclases

61 Herencia Herencia “Es-Un”: herencia real, donde la subclase es un tipo específico de la superclase Herencia “Es-Un”: herencia real, donde la subclase es un tipo específico de la superclase Un Cuadrado es un Rectángulo Un Cuadrado es un Rectángulo Un perro es un mamífero Un perro es un mamífero Un automóvil es un vehículo a motor Un automóvil es un vehículo a motor

62 Interfaces (3/3) Se crean las interfaces que definen comportamiento Se crean las interfaces que definen comportamiento Hidroavión deberá definir los comportamientos de cada una de las interfaces que implemente Hidroavión deberá definir los comportamientos de cada una de las interfaces que implemente

63 Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así Polimorfismo

64 Polimorfismo - Ejemplo La definición del método reside en la clase base La definición del método reside en la clase base La implementación del método reside en la clase derivada La implementación del método reside en la clase derivada La invocación es resuelta al momento de ejecución La invocación es resuelta al momento de ejecución Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar Transporte Avanzar Frenar

65 Tarea – Realizar el análisis Realice un diagrama de clases que siga el seguimiento de los resultados de los partidos de fútbol El problema debe monitorizar: La lista de jugadores de cada equipo. La lista de jugadores de cada equipo. La cantidad de goles de cada jugador. La cantidad de goles de cada jugador. Los partidos jugados durante una temporada, incluyendo los equipos que jugaron entre si, y el resultado final del partido. Los partidos jugados durante una temporada, incluyendo los equipos que jugaron entre si, y el resultado final del partido. La aplicación debe permitir generar resultados estadísticos por equipos, jugadores y temporadas. Fecha de entrega 9 de septiembre

66 Siga los siguientes pasos 1. Cree una lista de los objetos potenciales 2. Aplique reglas vistas en este modulo para decidir si todos sus objetos son validos. 3. Cree una lista de atributos y operaciones para cada uno de sus objetos.


Descargar ppt "Lenguajes de la Programación Clase numero 2. Temario Modulo I - Introducción al programa +MAS - Programación Orientada a Objetos. (1ra Parte) - Introducción."

Presentaciones similares


Anuncios Google