La Programación Orientado a Objetos

Slides:



Advertisements
Presentaciones similares
METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Advertisements

Unidad 3 Lenguajes .Net y POO
Curso de Java Capitulo 7: Continuación Poo Profesor:
PROGRAMACION ORIENTADA A OBJETOS
Introducción a la Orientación a Objetos
Tomado de:
ALGORITMICA II - Tipos Abstractos de Datos (TAD)
¿Qué es la Programación Orientada a Objetos?
Arquitectura CLARO-TECNOTREE
Programación Orientada a Objetos
Introducción a la Orientación a Objetos
Programación Orientada a Objetos (P.O.O.)
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
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
ORIENTADO A OBJETOS ESTUDIANTE JESSICA LORENA LEAL MEDINA INGENIERIA DE SOFTWARE PROGRAMA INGENIERIA DE SISTEMAS UNIVERSIDA COOPERATIVA DE COLOMBIA NEIVA-HUILA.
PROGRAMACION ORIENTADA
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Programación orientada a objetos Rosemary Torrico Bascopé.
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.
UNIVERSIDAD TECNOLÓGICA DE HERMOSILLO T.S.U. EN T.I.C., Área: Sistemas Informáticos Ing. José Padilla Duarte y estudiantes de Sistemas Informáticos Hermosillo,
Ingeniería de software Unidad II Ingeniería de Software Orientado a Objetos Principios Orientados a Objetos Tema Semana 7.
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
Introducción a la programación Orientada a objetos
Conceptos Objeto Clase Atributo / Método Encapsulamiento Mensaje
Ingeniería de Software
Conceptos Básicos para entender JAVA
Fundamentos de Programación
Introducción a la POO • ¿Qué es la programación orientada a objets (POO)? – Un “paradigma” de programación – Una forma de pensar acerca de los problemas.
Programación Orientada a Objetos
Programación Orientada Objetos
INSTITUTO TECNOLOGICO DE MINATITLAN ASIGNATURA: FUNDAMENTOS DE PROGRAMACION DOCENTE: JOSE ANGEL TOLEDO ALVAREZ ALUMNA: ALEJANDRA OSORIO ARVISU SEMESTRE:
Programación Orientada a Objetos (P.O.O.)
Introducción a UML DIAGRAMA DE CLASES Departamento de Informática
Facultad de Ingeniería
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Facilitador: Christian Alexander Martinez
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
DIAGRAMA DE CLASES.
PROGRAMACIÓN IV INTRODUCCIÓN.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ing. Johanna Macias Algoritmo, Estructura y Programación III.
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
UNIVERSIDAD TECNOLÓGICA DE IZÚCAR DE MATAMOROS TECNOLOGÍAS DE LA INFORMACION Y COMUNICACIÓN BASE DE DATOS PARA APLICACIONES MTRO. GONZALO ROSAS CABRERA.
ORIENTACIÓN A OBJETOS El paradigma.
Introducción a la Orientación a Objetos
Programación Orientada a Objetos: CLASES Y OBJETOS
Programación Orientada Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Paradigma Orientado a Objetos
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Herencias Conceptos básicos i
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.
Programación Orientada a Objetos Unidad 5. Los objetos son entidades que combinan estado Contiene toda la información denominados atributos REPASO Cada.
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.
PARADIGMA viene del Griego Paradeima = Modelo. Un paradigma es el resultado de los usos, y costumbres, de creencias establecidas de verdades a medias,
Modelado UML Diagrama de Clases
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Prof. Manuel B. Sánchez. Es un mecanismo y uno de los pilares de la POO que permite definir nuevas clases a partir de otras preexistentes. La Herencia.
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:

La Programación Orientado a Objetos

Objetivo Describir el Paradigma de Orientación a Objetos incluyendo los conceptos relacionados al análisis, diseño y programación

Paradigmas de Programación Hay para todos los gustos Estructurados (C, Pascal, Basic, etc.) Funcionales (CAML) Declarativos (Prolog) Orientados a Objetos (C#, VB.NET, Smalltalk, Java) Orientados a Aspectos Híbridos (Lisp, Visual Basic) Incomprensibles.... Cada enfoque tiene sus ventajas y desventajas Cada uno es más apropiado para ciertas cosas A lo largo de la historia se han ido desarrollando distintos lenguajes de programación basados en distintos paradigmas o formas de estructurar y pensar el desarrollo de software. A principios de la década de 1980 comenzó a surgir el llamado paradigma de “Orientación a Objetos”, que proponía una forma novedosa de comprender y modelar el mundo que nos rodea. Hoy, luego de varias décadas, este paradigma es sin duda uno de los principales y más importantes en la escena del desarrollo de software.

Introducción a la Programación Orientado a Objetos (POO). Significado de Orientado a Objetos El significado de Orientado a Objetos nace como un conjunto de practicas que definen un estilo de programación. Los seres humanos perciben el mundo como si estuviera formado por objetos: mesas, sillas, computadoras, coches, cuentas bancarias, etc. Donde conciente o inconscientemente tienden a organizarlos, clasificarlos, relacionarlos entre si, y hasta extraen las características más importantes dependiendo de lo que quieren hacer con ellas.

Programación Orientada a Objetos Definición: La POO es un estilo de programación, donde todos los elementos que forman parte del problema se conciben como objetos, definiendo cuales son sus atributos y comportamiento, como se relacionan entre sí y como están organizadas. Estructura Interna de un Objeto: Atributos: Define el estado del objeto Métodos: Define el comportamiento del objeto

¿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 Según las definiciones formales de James Rumbaugh y Grady Booch (dos de las principales autoridades de la orientación a objetos en la actualidad, y coautores de UML, el lenguaje de modelado universal para objetos), un objeto es una abstracción de la realidad que tiene un significado concreto y claro para el problema que se está modelando. Un ejemplo de una entidad física representada como un objeto conceptual puede ser “Un Auto”. Ahora bien, todos los objetos tienen 3 características principales: Estado: representa la definición de atributos internos del objeto, sus características. Por ejemplo, un auto tiene un cierto número de puertas, un cierto número de ruedas, un volante, un motor, pedales, etc. Comportamiento: representa la definición del comportamiento del objeto, las acciones que éste puede realizar. Por ejemplo, un auto puede “arrancar”, “frenar”, “doblar”, “acelerar”, etc. Identidad: Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto

Las clases y los objetos están en todas partes Figura Vehículo Animal

El mundo color de Objetos ¿Por qué Orientación a Objetos (OO)? Se parece más al mundo real Permite representar modelos complejos Muy apropiada para aplicaciones de negocios Las empresas ahora sí aceptan la OO Las nuevas plataformas de desarrollo la han adoptado (Java / .NET) En la actualidad, el paradigma de orientación a objetos es sin lugar a dudas el más utilizado por las empresas de todo el mundo a la hora de encarar desarrollos de aplicaciones de software, ya que permite representar de manera relativamente simple modelos y realidades muy complejas y esto hace que el software sea más fácil de programar, comprender y mantener. Por otra parte, luego de más de 20 años de investigación y desarrollo sobre Orientación a Objetos pareciera ser que la industria se ha dado cuenta que el paradigma está lo suficientemente maduro como para dar soporte a las aplicaciones más importantes del mundo actual.

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 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

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

Un objeto posee Identidad Cada objeto tiene una identidad única, incluso si su estado es idéntico al de otro objeto El concepto de identidad se refiere al hecho de que cada objeto es único en el mundo, por más que su conjunto de atributos y sus valores sean exactamente iguales a los de otros objetos. Por ejemplo, dos autos del mismo modelo, color, motor, salidos de la misma línea de producción el mismo día no dejan de ser dos autos diferentes, por más que su conjunto de atributos y sus valores sean iguales. La única posibilidad de que dos objetos sean iguales es que sean el mismo objeto.

¿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 La forma más sencilla de entender el concepto de clase es si la vemos como una agrupación de objetos con características similares. Por ejemplo, un auto ES UN tipo particular de vehículo motorizado, con lo cual dentro de su comportamiento podemos encontrar “arrancar” y “frenar”, entre otros. Ahora bien, una motocicleta también ES UN vehículo motorizado, y tiene dentro de su comportamiento “arrancar” y “frenar”. El conjunto de atributos también es compartido entre una motocicleta y un automóvil, aunque sus valores no coincidan necesariamente. Por ejemplo, ambos tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la motocicleta 2.

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 Otra forma útil de ver una clase es como una plantilla, plano o molde de un conjunto de entidades a partir del cual se crearán luego instancias particulares (los objetos). La interacción de las entidades en el mundo real se produce entre objetos, no entre clases. Las clases no tienen “vida” en el mundo real, los objetos sí. Para poder interactuar con alguna clase deberemos crear una instancia particular de ella, con un conjunto de valores definidos para los atributos. A este proceso se lo conoce como “instanciación de un objeto”.

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

Clases Concepto Generalmente, una clase se puede definir como una descripción abstracta de un grupo de objetos, cada uno de los cuales tiene una serie de atributos, un estado específico y es capaz de realizar una serie de operaciones. Lavadora marca modelo capacidad... Programar PonerRopa CerrarPuerta Lavar Atributos Operaciones Comportamiento

Terminología de la POO Clase Objeto Atributos Métodos Instancia Abstracción Encapsulamiento Modularidad Jerarquía Generalización Herencia Asociación Agregación Polimorfismo Constructor Destructor Miembro Público Miembro Privado Miembro Protegido

Terminología de la POO Abstracción: La abstracción es la capacidad que permite representar las características esenciales de un objeto sin preocuparse de las restantes características (no esenciales). Encapsulamiento: Es la propiedad que permite asegurar que los aspectos externos de un objeto se diferencie de sus detalles internos.

Terminología de la POO Modularidad: La modularidad es la propiedad que permite dividir una aplicación en partes más pequeñas ( llamadas módulos ), cada una de las cuales debe ser tan independiente como sea posible de la aplicación en si y de las restantes partes. Jerarquía: Es una clasificación u ordenación de las abstracciones.

Terminología de la POO Generalización: Una clase que comparte atributos y métodos similares con otras clases se le llama superclase o clase padre. Cuando definimos una clase padre estamos generalizando. Herencia: Del mismo modo, cuando definimos una clase a partir de una clase padre estamos creando una subclase. La definición de una subclase se le denomina herencia.

Terminología de la POO Asociación: Una asociación es una relación semántica entre objetos. Cuando un objeto accede a los atributos y métodos de otro objeto estamos definiendo una asociación entre ellos. Agregación: La agregación es una relación que define que un objeto es parte de otro objeto. Cuando definimos que un objeto tiene como atributo otro objeto decimos que es una agregación. A través de la agregación se definen objetos compuestos.

Terminología de la POO Polimorfismo: Es el mecanismo de definir un mismo método en varios objetos de diferentes clases pero con distintas formas de implementación. Constructor: Es un método que se invoca cuando un objeto es construido Destructor: Es un método que se invoca cuando un objeto es destruido.

Terminología de la POO Miembro Público: Atributo o método de una clase que puede ser accesado desde cualquier parte del programa. Miembro Privado: Atributo o método de una clase que puede ser accesado solo dentro de esa clase. Miembro Protegido: Atributo o método de una clase que puede ser accesado desde esa clase y sus clases heredadas.

EJERCICIO Describa dos clases y tres objetos por cada clase. Realice el siguiente ejercicio teniendo en cuenta la metodologi POO Hacer un programa que al dar la hora (hh, mm, ss), muestre la hora después de 2 horas, 10 minutos y 20 segundos.