Introducción a la Orientación a Objetos

Slides:



Advertisements
Presentaciones similares
Curso de Java Capitulo 7: Continuación Poo Profesor:
Advertisements

PROGRAMACION ORIENTADA A OBJETOS
Introducción a LAS Bases de Datos
Introducción a la Orientación a Objetos
Tomado de:
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
DSOO - María Eugenia Valencia
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
La Programación Orientado a Objetos
Tipo de Dato Abstracto Tipos de datos:
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
LENGUAJE UNIFICADO DE MODELADO UML
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
U NIDAD III P ROGRAMACIÓN O RIENTADA A O BJETOS (POO) Facilitadora: Ing. Patricia Gómez.
METODOLOGIA DE LA PROGRAMACION
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
PROGRAMACIÓN ORIENTADA A OBJETOS
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
Microsoft Student partners Oscar Ortiz Pinzon Bogota - Colombia.
PROGRAMACIÓN ORIETADA A OBJETOS
Ingeniería de Software

Ingeniería de Software Orientado a Objetos
Introducción a los tipos de datos abstractos
Fundamentos de Programación
DISEÑO DE SOFTWARE 1ª. Parte
Bases de Datos Orientadas a Objetos (BDOO)
Fundamentos de programación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Modelos de Bases de Datos
DEFINICIÓN  Es una forma de entender un problema identificando las entidades principales que se encuentran en el.  Es una forma de desarrollar un sistema.
Sara Isabel Osorio Alacraz Ana Isabel Vallejo Grisales
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
PROGRAMACION OOP Ing. Miguel Jaime IBM ACE Certificación.
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Facilitador: Christian Alexander Martinez
Programación orientada a objetos (OPP)
Clasificación de Diagramas
Introducción a la Programación Orientada a Objetos (POO)
Metodología de Programación Clase 1 Leonel Lagos V
POO U1: INTRODUCCIÓN AL PARADIGMA DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
Ing. Esp. Ricardo Cujar. Programación Orientada a Objetos  Modelo de desarrollo de software.  Modo de pensar del hombre y no de la máquina.  Abstracción.
Programación orientada a objetos
Atributos, métodos y encapsulamiento.
FUNDAMENTOS DE PROGRAMACION
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
Programación Orientada Objetos
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Paradigma Orientado a Objetos
Fundamentos de Ingeniería de Software
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
Prof. Manuel B. Sánchez. Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno.
2015-BM5A. Introducción Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos.
Diagrama de clases Silvia Herzovich Rodrigo Aronas Matias Silversteyn.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
METODOS DE PROGRAMACION I Ing. Vania Flores Pinto.
Programación I Clases. Paradigma POO La programación Orientada a objetos (POO) es una forma programar, más cercana a como expresaríamos las cosas en la.
Transcripción de la presentación:

Introducción a la Orientación a Objetos Lenin Herrera Sesión 1

Historia Simula 67. Universidad de Noruega. Smalltalk. Xerox 1970. C++ . ATT Lab Bell 1980. Delphi. Borland 1990. PHP. Rasmus Lerdorf 2000.

Paradigmas de Programación Existen de distintas clases y cada uno con su propio objetivo. Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Imperativas(Basic) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Híbridos (Lisp, Visual Basic)

Programación Estructurada A finales de los años 1960 surgió una nueva forma de programar que no solamente daba lugar a programas fiables y eficientes, sino que además estaban escritos de manera que facilitaba su comprensión posterior. El teorema de programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes: Secuencia Instrucción condicional. Iteración (bucle de instrucciones) con condición al principio.

Programación Funcional Es un paradigma de programación declarativo basado en la utilización de funciones matemáticas El objetivo es conseguir lenguajes expresivos y elegantes (matemáticamente hablando), en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitando el concepto de estado del cómputo.

Programación Declarativa Este paradigma está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla. No existen asignaciones destructivas.

Programación Imperativa Es el paradigma contrario a el declarativa, este describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.

Programación orientada a eventos Este paradigma es enfocada a los eventos, en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.

¿ Porque Objetos? Todo el mundo esta compuesto de entidades que se relacionan e interactúan entre si; Ej. Un carro con su conductor. Una persona con su computadora.

¿Qué es un Objeto? Informalmente, un objeto representa una entidad del mundo real Entidades Físicas (Ej.:Auto, Computadora, Cliente) Entidades Conceptuales (Ej.: Transacción Bancaria) Entidades de Software (Ej.: Interfaz Gráfica)

¿Qué es un Objeto? 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 posee (Booch): Estado Comportamiento Identidad

Un objeto posee Estado Lo que el objeto sabe El estado de un objeto es una de las posibles condiciones en que el objeto puede existir El estado normalmente cambia con el transcurso del tiempo El estado de un objeto es implementado por un conjunto de propiedades (atributos), además de las relaciones que puede tener con otros objetos Atributos Edad:32 Peso:145 Lbs. Altura:5’ 5’’ Titulo: Doctora Dra. X

Un objeto posee Comportamiento 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 Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar) Se implementa mediante métodos Descansa Cocina Juega al Fútbol Trabaja

Un objeto posee Identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto. Cada Objeto es único en el mundo por mas que haya otro objeto con iguales atributos.

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

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

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

Herencia Para el caso de la clase D a la clase C, la herencia es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables publicas declaradas en C.

Herencia Los componentes registrados como "privados" (private) también se heredan, pero como no pertenecen a la clase, se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Esto es así para mantener hegemónico el ideal de OOP.

Método Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Eventos Un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento, a la reacción que puede desencadenar un objeto, es decir la acción que genera.

Mensajes Una comunicación dirigida a un objeto, que le ordena que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Atributo o Propiedad Contenedor de un tipo de datos asociados a un objeto (o a una clase de objetos), que hace los datos visibles desde fuera del objeto y esto se define como sus características predeterminadas, y cuyo valor puede ser alterado por la ejecución de algún método.

Características de POO Abstracción. Encapsulamiento. Ocultación. Polimorfismo. Herencia. Recolección de Basura.

Abstracción Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cómo se implementan estas características. Los procesos, las funciones o los métodos pueden también ser abstraídos y cuando lo están, una variedad de técnicas son requeridas para ampliar una abstracción.

Encapsulamiento Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesion de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente.

Ocultamiento Cada objeto está aislado del exterior, es un módulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cómo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificación por quien no tenga derecho a acceder a ellas, solamente los propios métodos internos del objeto pueden acceder a su estado.

Ocultamiento Esto asegura que otros objetos no pueden cambiar el estado interno de un objeto de maneras inesperadas, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstracción. La aplicación entera se reduce a un agregado o rompecabezas de objetos.

Polimorfismo Comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que se esté usando. O dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocación de un comportamiento en una referencia producirá el comportamiento correcto para el tipo real del objeto referenciado.

Recoleccion de Basura La Recolección de basura o Garbage Collection es la técnica por la cual el ambiente de Objetos se encarga de destruir automáticamente, y por tanto desasignar de la memoria, los Objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignación o liberación de memoria, ya que el entorno la asignará al crear un nuevo Objeto y la liberará cuando nadie lo esté usando.

Bibliografía http://www.tic.udc.es/~fbellas/teaching/ioo/IOO.pdf www.robocode-argentina.com.ar/descargas/poo.ppt http://www.cs.buap.mx/~mmartin/introprog/Cap4.pdf http://www.monografias.com/trabajos14/paradigma/paradigma.shtml