Programación Orientada a Objetos Unidad I – Programación Orientada a Objetos en C++ Programación I - 0416202.

Slides:



Advertisements
Presentaciones similares
UNIDAD I. INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS EN JAVA.
Advertisements

PROGRAMACION ORIENTADA A 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.
Diagrama de Clases SPI 2016.
ELO-329: Diseño y Programación Orientados a Objetos1 Conceptos ELO329: Diseño y Programación Orientados a Objetos.
Universidad Pedagógica Francisco Morazán Tema: SISTEMA DE BASE DE DATOS Grupo: 5 Integrantes: Danilo Hernán Lagos Avilés Erlinda Yohanna Díaz Elvir Indira.
2012-BM5A. Introducción Todos los lenguajes de programación son distintos entre si. Sin embargo, pueden ser agrupados según la forma de pensar y estructurar.
Traducción dirigida por la Sintaxis Teoría de Autómatas y Lenguajes Formales Alma María Pisabarro, 2007.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
PROGRAMACIÓN ORIENTADA A OBJETOS SEGUNDA UNIDAD: “CLASES, OBJETOS Y MÉTODOS” IRVING YAIR SALAS CHÁVEZ ING. EN SISTEMAS COMPUTACIONALES - ITSLP.
Pruebas de Funcionalidad de Software: Caja Negra y Caja Blanca Curso: Diseño de Sistemas 9no. Semestre.
Organizaciones involucradas: El centro de cálculo noruego. Crea lenguaje llamado Simula 67, desarrollado por Krinsten Nygaard y Ole-Johan Dahl, en 1967.
Herencia Multiple en Java
ELO329: Diseño y Programación Orientados a Objetos
Ingreso , proceso y salida de datos
Clases y Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ingeniero en Computación José Alfredo Cobián Campos
Programación Avanzada
PROGRAMACION ORIENTADA A OBJETOS
Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico.
Herencia Implementación en Java.
Programación Orientada a Objetos
Programación Orientada a Eventos
simulacion Resumen unidad 1 Equipo Baldor Huerta Ocejo Ivan de Jesus
U.T. 11: Introducción A Las Bases De Datos
Hardware Software Sistema Informática Computadora Computación Datos.
Introducción a programación web Martin Esses
Introducción a programación web Martin Esses
Programación orientada a objetos
METODOLOGÍA DE SISTEMAS
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
DIAGRAMA DE CLASES 2016 Ramos, Pablo.
Tema 3 Fundamentos y diseño de algoritmos
La Programación Orientado a Objetos
Software Es intangible, existe como información, ideas, conceptos, símbolos, pero no ocupa un espacio físico, se podría decir que no tiene sustancia. Se.
LÓGICA DE PROGRAMACIÓN
Programación Orientada a Objetos
Conocer los fundamentos de la programación estructurada
CONCEPTOS PRELIMINARES (Cont)
Clases y objetos.
Java – programación orientada a objetos programación ii – iee
Universidad Nacional de Colombia - Leguajes de Programación
Programación Orientada a Objetos. ¿Qué es un ordenador? “Un sistema digital con tecnología microelectrónica capaz de procesar información a partir de.
ANALISIS DE SISTEMAS ANALISIS ORIENTADO A OBJETOS.
Patrones de Diseño Sistemas de Información II – IS 445 Docente: Lisber Arana Hinostroza Mayo
ABSTRACCION DE DATOS   Estructura de Datos Básicos: En programación una estructurad de datos, es una forma particular de organizar datos en una computadora.
Fundamentos de la Programación I
Programacion Orientada a Objetos
Diagrama de Clases Un diagrama de clases esta compuesto por los siguientes elementos: Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición,
FUNDAMENTOS DE PROGRAMACIÓN. INTRODUCCIÓN  Conceptos: Informática, Ordenador, Programa, Dato, Bit, Byte, Hardware, Software, Lenguaje de Programación,
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Estructura general de un programa. Estructura general de un programa. Pseudocódigo Diagrama de flujo Concepto de programas. Concepto de programas. Instrucciones.
Estructura de Sistemas Operativos CAMPOS CHACALTANA, ANTHONY.
Estructura de los sistemas Operativos 1. Componentes de un sistema operativo  Administración de procesos  Administración de memoria  Subsistema de Entrada/Salida.
Arquitectura de Computadores de Computadores. Organización y Arquitectura La Arquitectura: se refiere a los atributos que tienen un impacto directo en.
Diagramas de Interacción. Escuela de Ingeniería en Sistemas Computacionales Facultad de Ciencias Matemáticas y Físicas Universidad Estatal
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno. INTRODUCCIÓN A UML  QUE ES UML?  PARA QUE SE UTILIZA  COMPONENTES  DIAGRAMAS.
1 PROGRAMACION ORIENTADA A OBJETOS MARIA LAURA ESPIN B. INSTITUTO TECNOLÓGICO SUPERIOR ÁNGEL POLIBIO CHÁVEZ TECNOLOGÍA SUPERIOR EN DESARROLLO DE SOFTWARE.
MODELO EN CASCADA Integrantes: Felipe Alemán Lester Blandón.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
EVOLUCIÓN DE LOS PARADIGMAS DE PROGRAMACIÓN Integrantes: Christian Abad, Kevin Colcha.
¿Qué son los Paradigmas de Programación?  Es una propuesta tecnológica, la cuál es adoptada por una comunidad de programadores cuyo núcleo central es.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
Ha llegado el momento de dar una mirada al interior de los Sistemas Operativos. En las siguientes secciones examinaremos cuatro estructuras distintas.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS. Estos sistemas no tienen una estructura definida, sino que son escritos como una colección de procedimientos donde.
Unida III: Análisis y Diseño de Sistemas Orientado a Objetos
PROGRAMACIÓN ORIETADA A OBJETOS. 2 Introducción Paradigma: Ejemplo ilustrativo, enunciado modelo  Programación imperativa  Programación funcional 
Transcripción de la presentación:

Programación Orientada a Objetos Unidad I – Programación Orientada a Objetos en C++ Programación I

Programación Orientada a Objetos Contenido Esta lección abarca los siguientes temas: Paradigmas de Programación Programación Orientada a Objetos (POO) Clase Objeto Atributos Métodos Mensajes Pilares Fundamentales de la POO:  Abstracción  Encapsulamiento  Herencia  Polimorfismo

Programación Orientada a Objetos Paradigmas de Programación Un paradigma de programación representa 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. También hay situaciones donde un paradigma resulta más apropiado que otro. Paradigmas de Programación Imperativa Programación Estructurada Programación Orientada a Objetos Declarativa Programación Funcional Programación Lógica

Programación Orientada a Objetos Programación Declarativa Los programas describen el resultado a obtener y los mecanismos disponibles, pero no detallan los pasos necesarios para obtenerlo. Programación Funcional: Emplea expresiones funcionales para combinar valores básicos y obtener resultado. Programación Lógica: Se basa en el cálculo de predicados para obtener resultados a partir de hechos básicos y mediante la aplicación de reglas de inferencia. Paradigmas de Programación Declarativa Programación Funcional Programación Lógica

Programación Orientada a Objetos Programación Declarativa (Ejemplo)

Programación Orientada a Objetos Programación Imperativa Los programas detallan los pasos necesarios para realizar una tarea. Existe un estado global del programa que es modificado por una secuencia de órdenes o instrucciones. Programación estructurada: Los programas se particionan en múltiples tareas que encierran funciones bien definidas y limitan la visibilidad de los datos. Además, impone restricciones en el diseño de los algoritmos que facilitan su posterior modificación y mantenimiento. Programación orientada a objetos: Introduce el concepto de objeto como forma de encapsular algoritmos y datos en una unidad indivisible, con el fin de que los programas simulen el comportamiento de los objetos del mundo real. Paradigmas de Programación Imperativa Programación Estructurada Programación Orientada a Objetos

Programación Orientada a Objetos Programación Orientada a Objetos (POO) La Programación Orientada a Objetos es un paradigma muy poderoso que combina la descripción de los elementos en un entorno de proceso de datos con las acciones ejecutadas por esos elementos. Cuando se escribe un programa de computadora en un lenguaje orientado a objetos, se está creando un modelo de una parte del mundo. Las partes con que se construye ese modelo son los objetos que aparecen en el dominio del problema. Los objetos en el dominio del problema varían de acuerdo al programa que se escribe, por ejemplo en un Chat, los objetos sería Usuarios y Mensajes mientras que en un Juego, los objetos serían Monstruos y Personajes.

Programación Orientada a Objetos Programación Orientada a Objetos (POO) La POO difiere de la programación estructurada tradicional, en la que los datos y los procedimientos están separados y sin relación, ya que lo único que se busca es el procesamiento de unos datos de entrada para obtener otros de salida. En la programación estructurada solo se escriben funciones que procesan datos. Los programadores que emplean programación orientada a objetos, en cambio, primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus métodos por sí mismos.

Programación Orientada a Objetos Programación Orientada a Objetos (POO) En la Programación orientada a objetos, podemos encontrarnos con los siguientes elementos:  Clases  Objetos  Métodos  Atributos  Mensajes  Abstracción  Encapsulamiento  Herencia  Polimorfismo Pilares Fundamentales De la POO POO

Programación Orientada a Objetos Clase Una descripción general de un grupo de objetos, cada uno de los cuales se diferencia por un estado específico y es capaz de realizar una serie de operaciones. Se puede pensar en una clase como en un molde para un objeto. A partir de la clase, se pueden crear o instanciar objetos con propiedades específicas: la instanciación crea un objeto con valores específicos para cada una de las propiedades.

Programación Orientada a Objetos Objeto Entidad provista de un conjunto de propiedades o datos (atributos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa). Es una instancia de una clase, es decir la materialización de una clase.

Programación Orientada a Objetos Atributos Un atributo representa una propiedad o característica de un objeto. Los atributos y sus valores en un momento dado, determinan el estado de un objeto. Por ejemplo: Un circulo tiene una coordenada “x”, una coordenada “y”, el “color”, el “diámetro” y la “visibilidad”. Los valores que tengan los atributos del objeto determinarán la posición, color, tamaño y visibilidad del mismo (el estado del objeto círculo). Diámetro=15px Color=Azul PosX=30 PosY=10 Visible=True Diámetro=25px Color=Rojo PosX=65 PosY=8 Visible=True

Programación Orientada a Objetos Métodos 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. Regularmente se dice que esos métodos son “llamados” o “invocados”. Acciones Procesos Comportamiento Función Métodos Encender Cambiar Velocidad Acelerar Frenar Abrir Capot Abrir Puertas Bajar Vidrio Encender Luces Apagar

Programación Orientada a Objetos Mensajes Los objetos pueden enviar y recibir mensajes; es así como se comunican. Por ejemplo: un gato.  El objeto estómago del gato envía un mensaje al objeto cerebro.  El objeto estómago indica que está vacío.  El objeto cerebro envía un mensaje al objeto piernas, indicándoles que es hora de moverse.

Programación Orientada a Objetos Mensajes Para que un objeto haga algo, le enviamos una solicitud. Esta hace que se produzca una operación. La operación ejecuta el método apropiado que opcionalmente produce una respuesta. Entonces, un mensaje no es mas que la invocación de un método para que éste produzca un resultado. El mensaje que construye la solicitud contiene el nombre del objeto, el nombre de una operación y a veces, un grupo de parámetros.

Programación Orientada a Objetos Mensajes En resumen, Un mensaje es una comunicación dirigida desde un objeto A ordenando a otro objeto B que ejecute uno de sus métodos con ciertos parámetros asociados al evento que lo generó.

Programación Orientada a Objetos 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. El proceso de abstracción permite seleccionar las características relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstracción es clave en el proceso de análisis y diseño orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar.

Programación Orientada a Objetos Abstracción Automóviles Edificios Personas Bicicletas Anuncios

Programación Orientada a Objetos Abstracción Para definir cada objeto hay que ser capaces de abstraer sus métodos y atributos es decir, lo que puede hacer y qué características lo distinguen de otros objetos; a esto se le conoce como abstracción funcional y abstracción de datos. Por ejemplo, ¿qué métodos y atributos tiene un automóvil? NOTA: Dependiendo del sistema a desarrollar habrá que tomar únicamente los atributos y métodos que sean de importancia en el contexto de la aplicación. Encender Cambiar Velocidad Acelerar Desacelerar Frenar Abrir Capot Abrir Puertas Bajar Vidrio Encender Luces Apagar Marca Modelo Año Numero de Puertas Color Seriales Puestos Ejes Peso Tipo de Caja

Programación Orientada a Objetos Encapsulamiento Pero, el encapsulamiento es mucho más que esto, ya que permite a los grandes programadores descomponer grandes sistemas, en sistemas encapsulados más pequeños que son más fáciles de desarrollar y de darles mantenimiento. Es el proceso de agrupar datos y operaciones relacionadas bajo la misma unidad de programación (objeto). Mediante el encapsulamiento se ocultan los detalles internos de implementación de la clase, dejando visible únicamente los detalles de uso de la misma (ocultamiento de información). Esto evita que el objeto colapse por la intervención indeseada de otro objeto o usuario.

Programación Orientada a Objetos Encapsulamiento ¿Por qué es necesario ocultar información de los objetos? Respondo con una pregunta: ¿Qué pasaría si su padre, sin tener ningún conocimiento de electrónica abre su televisor y comienza a tratar de cambiar los canales manualmente? Cuando usted se sienta a ver televisión no se preocupa del modo cómo en que éste funciona, o lo que hace internamente para cambiar de canal o aumentar el volumen. El creador del objeto ha ocultado los detalles internos del objeto, dejando visible solo los detalles de uso del mismo

Programación Orientada a Objetos Herencia Las clases no se encuentran aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. Éstas pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en árboles que reflejan un comportamiento común. Cuando un objeto hereda de más de una clase se dice que hay herencia múltiple.

Programación Orientada a Objetos Polimorfismo El polimorfismo se refiere a la propiedad por la que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es saber responder al mensaje que se les envía. Encender Apagar