Fundamentos de Programación

Slides:



Advertisements
Presentaciones similares
Pilares de la POO.
Advertisements

MODELOS ORIENTADOS A OBJETOS
METODOLOGÍA ORIENTADA A OBJETOS CARACTERISTICAS DEL PROCESO
Curso de Java Capitulo 7: Continuación Poo Profesor:
PROGRAMACION ORIENTADA A OBJETOS
Arquitectura CLARO-TECNOTREE
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
Fundamentos de Ingeniería de Software
Introducción a la programación orientada a aspectos.
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
CONCEPTOS Y PRINCIPIOS ORIENTADOS A OBJETOS
GENERACIONES DE LENGUAJES DE PROGRAMACIÓN
UNIVERSIDAD LATINA (UNILA) INTRODUCCION A LA PROGRAMACIÓN
Aplicación del paradigma orientado a objetos
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.
Diagramas de clases Modelan la vista estática del sistema
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.
Ingeniería de Software Orientada a Objetos
Fundamentos de Programación
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Introducción a la programación Orientada a objetos
Microsoft Student partners Oscar Ortiz Pinzon Bogota - Colombia.
Ingeniería de Software

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.
Fundamentos de programación
Programación Orientada Objetos
Tecnológico de Estudios Superiores Huixquilucan Fundamentos de Sistemas Ingeniería en Sistemas Computacionales Lic.: Lydia Villavicencio Gómez “Paradigmas.
Métricas Técnicas para Sistemas Orientados a Objeto
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:
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Programación Orientada a Objetos (P.O.O.)
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.
NOBRE: ANDRES JACOME CURSO: 3ro BACH. «A» DOCENTE: LIC. FERNANDOGUERRON
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,
Programación Orientada a Objeto
PROGRAMACION ORIENTADA A OBJETOS
Programación orientada a objetos (OPP)
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
UNIVERSIDAD TECNICA DE BABAHOYO EXTENSION DE QUEVEDO  Espinales Lisseth G RUPO N º 2 Temas:  Herencia  Polimorfismo  Encapsulamiento  2 Ejemplos Estudiante.
Métricas De Software OO
PROGRAMACIÓN IV INTRODUCCIÓN.
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.
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
Modelo de procesos de software
Fundamentos de Ingeniería de Software
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.
1 Introducción a la Programación Orientada a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
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,
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Transcripción de la presentación:

Fundamentos de Programación

1.1 Reconocimiento de clases y objetos y sus relaciones en el mundo real. Un objeto se define como una estructura que encapsula atributos (características) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicación. Cada objeto tiene: - Estado: Conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este. - Comportamiento: Relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos. - Identidad: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto. Clases: Es la definición de un objeto. Cuando se programa un objeto y se definen sus características y funcionalidades, realmente se programa una clase

1.2 Abstracción. Abstracción:Es un método por el cual abstraemos una determinada entidad de la realidad de sus características y funciones que desempeñan. Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Dentro de las características esenciales se encuentran: Atributos (o datos). Comportamiento (métodos) La abstracción es crucial para comprender este complejo mundo, para el funcionamiento de una mente humana normal y es una herramienta muy potente para tratar la complejidad, es clave para diseñar un buen software

Ejemplo: La abstracción de un automóvil. - Características: Color, año de fabricación, modelo, etc. - Métodos o Funciones: Frenar, encender, etc.

1.2. Encapsulamiento Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. En la OO el encapsulamiento de una entidad se logra mediante la definición de una clase, que reúne los datos y comportamiento en una unidad.

POO Toma las mejores ideas de la programación estructurada la combina con nuevos y poderosos conceptos que animan o alientan una nueva visión de la tarea de la programación, permite descomponer fácilmente un problema en subgrupos de partes relacionadas, entonces, puede traducir estos subgrupos en unidades autocontenidas llamadas Objetos Es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Está basado en varias técnicas, incluyendo herencia, modularidad, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de 1990.

Elementos primordiales en el modelo POO. La programación Orientada a Objetos trata de cumplir las necesidades de los usuarios finales, estás tareas se realizan mediante la modelización del mundo real, el soporte fundamental es el modelo objeto. Los elementos más importantes de este modelo son: Abstracción Encapsulamiento Modularidad Jerarquía y Herencia Polimorfismo

Abstracción. Extraer las propiedades esenciales de un objeto que lo distinguen de los demás tipos de Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador Denota las características esenciales de un objeto, donde se capturan sus comportamientos. Es la capacidad para encapsular y aislar la información de diseño y ejecución Una abstracción se centra en la vista externa de un objeto, de modo que sirva para separar el comportamiento esencial de un objeto de su implementación. Definir una abstracción significa describir una entidad del mundo real, no importa lo compleja que pueda ser y, a continuación, utilizar esta descripción en un programa.

Encapsulamiento. Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Los lenguajes orientados a objetos proporcionan la Encapsulación. La encapsulación se puede utilizar para aplicar el concepto de Abstracción. Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones

Jerarquía y herencia. Herencia: (por ejemplo, la clase D recibe herencia de la clase C) 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. La Jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación). Las jerarquías de generalización/especialización se conocen como herencia. Básicamente, la herencia define una relación entre clases, en donde una clase comparte la estructura o comportamiento definido en una o más clases (herencia simple y herencia múltiple, respectivamente).

1.5.4. Jerarquía y herencia. Jerarquía de clases. Las relaciones de herencia forman una estructura de árbol (jerarquía). Ejemplo:

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. Es la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento. El polimorfismo adquiere su máxima expresión en la derivación o extensión de clases, es decir, cuando se obtiene una clase a partir de una clase ya existente, mediante la propiedad de derivación de clases o herencia.

1.5.5 Polimorfismo Suponer una jerarquía de clases de figuras de dos dimensiones. Cada clase puede tener un método que se llame igual, por ejemplo “área()” pero cada clase tendrá una formula de cálculo de área diferente según la clase. Por ejemplo, la operación comer es una operación fundamental en la vida de los mamíferos, de modo que cada tipo de mamífero debe poder realizar la operación o función comer. Por otra parte, una cabra o una vaca que pastan en un campo, un niño que se come un caramelo y un animal que devora a otro animal, son diferentes formas que utilizan diferentes mamíferos para realizar la misma función (comer).

1.6 Historia de los paradigmas en el desarrollo del software. Paradigmas: Representan un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. Los más comunes son el desarrollo en cascada(metodología de desarrollo en cascada es: Análisis de requisitos, Diseño, Programación, Prueba, Implantación, Mantenimiento),. Los enfoques generales para la escritura del código han sido: Programación “espagueti”. Sin una secuencia de ejecución definida. Sin módulos. Programación estructurada. Se usan los módulos (basados en procedimientos) y las sentencias de programación estructuradas. POO. Se afina el concepto de módulo al incluir datos y procedimientos (en una “clase”). Incluye nuevos conceptos como herencia, polimorfismo, etc. Ventajas El análisis del riesgo se hace de forma explícita y clara. Une los mejores elementos de los restantes modelos. Inconvenientes Genera mucho trabajo adicional. Exige una cierta habilidad en los analistas (es bastante difícil

Beneficios del modelo de objetos y de la POO sobre otros paradigmas. La LPOO permite crear TDA (tipos de datos abstractos). Es decir nuevos tipos de datos que no están predefinidos en el LP pero son necesarios para el usuario. Los LPOO proporcionan un rico conjunto de clases predefinidas que se pueden usar en las aplicaciones. Reutilización. Las clases se construyen a partir de otras clases.

Beneficios del modelo de objetos y de la POO sobre otros paradigmas. Fiabilidad. Productividad del desarrollador. Calidad. Mantenimiento. Costo. Escalabilidad. Adaptabilidad (mejor independencia e interoperabilidad).