datos de identificación...unidad didáctica ii introducción a la programación orientada a objetos...

27

Upload: others

Post on 28-Jan-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

  • Datos de Identificación

    Asignatura Programación I

    Código 3154

    Semestre Tercero

    Área Programación

    Programa Ingeniería en Informática

    Departamento Sistemas

    Fecha de Elaboración 08/03/2012

    Fecha Última actualización 27/06/2014

  • Primera Parte (Preliminares del Aprendizaje)

    Introducción

    Objetivos

    Objetivo General

    Objetivo Específico

    Fuentes de Información

    Evaluación de los aprendizajes

  • Segunda Parte (Desarrollo del Aprendizaje)

    Conocimientos Previos

    ¿Qué es la programación orientada a Objetos?

    Objetos

    Clases

    Objetos frente a clases

    Mensajes

    Pilares fundamentales de la Programación Orientada a Objetos

  • La Programación Orientada a Objetos (POO) es una forma especial de programar, más cercana a como expresaríamos las cosas en la vida real. Se basa en la idea natural de la existencia de un mundo lleno de objetos, de modo que la resolución del problema se realiza en términos de objetos.

    Esta unidad te permitirá repasar los conceptos fundamentales impartidos en la asignatura Introducción a la Computación relacionados con la programación orientada a objetos, como son: objetos, clases, métodos, entre otros.

  • Implementar secuencia de instrucciones en un lenguaje de programación.

    1. Identificar los componentes del lenguaje de programación.

    2. Utilizar los componentes del lenguaje de programación en la elaboración de instrucciones de programación.

  • • Joyanes, L. 2006. Programación en C++. Algoritmos, estructuras de datos y objetos. 2a Edición. Mc Graw Hill, Interamericana de España, S.A.U.

    En este texto se encuentra de forma detallada casi todo el contenido de la unidad.

    • IZQUIERDO, L. 2007. Introducción a la Programación Orientada a Objetos. http://luis.izqui.org/resources/ProgOrientadaObjetos.pdf

    • BUJANDA L. 2004. Introducción a la Programación Orientada a Objetos utilizando C++. Trabajo de Ascenso.

    • Díaz, R. 2010. Lineamiento para la programación orientada a objetos, utilizando la arquitectura modelo vista controlador y el lenguaje C++

    http://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdfhttp://luis.izqui.org/resources/ProgOrientadaObjetos.pdf

  • La evaluación de tu aprendizaje en esta unidad será de la siguiente manera:

    Tendrás disponible una autoevaluación que podrás tomar en el momento que te sientas preparado mientras está disponible la Unidad.

    esta unidad se evaluará en la primera evaluación práctica de 5 pts.

    esta unidad se evaluará en el primer parcial escrito de 25 pts.

  • Para el estudio exitoso de esta unidad requieres tener el dominio de:

    Proceso de ejecución de un programa.

    Elementos básicos del lenguaje de programación.

    Operadores, operandos y expresiones del lenguaje de programación.

    Estructuras de flujos de control del lenguaje de programación.

    Funciones.

  • La Programación Orientada a Objetos es un nuevo paradigma o modelo de programación.

    La Programación Orientada a Objetos se basa en la idea natural de la existencia de un mundo lleno de objetos, de modo que la resolución del problema se realiza en términos de objetos. Estos objetos poseen características (atributos) y tienen un comportamiento (métodos).

  • En el ámbito de la programación, un programa orientado a objetos está constituido por un conjunto de objetos interactuando conjuntamente a través del paso de mensajes, los cuales permiten hacer la entrada de datos, los cálculos necesarios para resolver el problema y dar la salida de datos, convertidos en la información solicitada.

    objeto 1 objeto 2

    objeto 3 objeto 4 objeto 5

    objeto 6 objeto 7

  • En el mundo real, las personas identifican los objetos como las cosas que pueden ser percibidas por los cinco sentidos. Por ejemplo: Una computadora, un teléfono celular, un árbol, un perro o un automóvil.

    Los objetos tienen características específicas tales como tamaño, color, forma, textura, etc. y también tienen ciertos comportamientos que los hacen diferentes a otros objetos.

  • Ejemplos:

    Los automóviles tienen características o atributos (marca, modelo, año, color, capacidad, placa, volante, acelerador, frenos, switchera, palanca de cambios etc.) y comportamiento (encender, arrancar, acelerar, retroceder, cruzar izquierda, cruzar derecha, detenerse).

    Los ratones (mouses) tienen características o atributos (botones, rueditas, sensor óptico, etc.) y comportamiento (avanzar, retroceder, girar, seleccionar, etc.).

  • Un objeto posee:

    Estado, Comportamiento, Identidad.

    Un objeto posee estado

    El estado de un objeto se refiere al conjunto de los valores de sus atributos en un momento dado. El comportamiento de un objeto puede modificar el estado de este.

    Atributos

    Edad: 35 Peso: 70 kg.

    Altura: 1.60 mts. Domicilio: Calle Falsa 123

    Titulo: Doctora

    Dra. Juanita Pérez

  • Un objeto posee Comportamiento

    El comportamiento de un objeto está determinado por las operaciones que éste puede realizar en respuesta a mensajes (peticiones), que le son enviados por otros objetos.

    Se implementa mediante métodos.

    Cumpleaños Comer Cambiar de Domicilio

  • Un objeto posee Identidad:

    La identidad es la propiedad que permite a un objeto diferenciarse de otros.

    Cada objeto es único en el mundo por más que haya otro objeto con iguales atributos. Por ejemplo, cada Dra. tiene su propia identificación.

  • Los Objetos de Software, al igual que los objetos del mundo real, también tienen características y comportamientos.

    Un objeto de software mantiene sus características en una o más "variables" o "atributos" e implementa su comportamiento con "métodos". Un método es una función o subrutina asociada a un objeto.

    Un objeto en POO, representa alguna entidad de la vida real, es decir, alguno de los objetos que pertenecen al negocio con que estamos trabajando o al problema con el que nos estamos enfrentando.

  • Criterios para clasificar objetos en POO:

    Cosas tangibles (mesa, carro, avión)

    Organizaciones (empresa, departamentos, divisiones)

    Incidentes (representa un suceso, por ejemplo: vuelo, accidente, transacción)

    Papeles o roles (cliente, empleado, médico)

    Interacciones (compras, ventas)

    Lugares (ciudad, muelle de carga, sala de embarque)

  • Objeto: Cuenta Ahorro

    número titular

    fecha_apertura saldo

  • Una clase define las características y comportamientos comunes, compartidos por un grupo de objetos.

    En otras palabras, una clase representa a un conjunto de objetos que tienen en común las mismas características (atributos) y el mismo comportamiento (métodos).

  • En el mundo real existen objetos del mismo tipo, por ejemplo tu cuenta de ahorro en un banco, es solo una más de todas las cuentas de ahorro del banco.

    Al referirse a una cuenta en particular, por ejemplo, tu cuenta de ahorro, se puede decir que ella es un objeto de la clase “Cuenta_Ahorro”.

    Todas las cuentas de ahorro tienen los atributos: número, titular, fecha apertura, saldo y algunos métodos como son: Aperturar, Depositar, Retirar y Cerrar. Por lo tanto, se puede definir la clase “Cuenta_Ahorro”, que describe los atributos y comportamiento de todas las cuentas.

  • Las clases son modelos o plantillas que describen como se construyen uno o más objetos del mismo tipo.

    Cada vez que se construye un objeto de una clase, se crea una instancia de esa clase ("instance“), por lo tanto, una clase puede tener muchas instancias y cada una es un objeto diferente.

    Un objeto es un simple elemento. Una clase, por el contrario, describe una familia de elementos similares.

    Cuando programamos un objeto y definimos sus características y funcionalidades, en realidad lo que se esta haciendo, es programando una clase.

  • Un mensaje está compuesto por los siguientes tres elementos:

    El objeto receptor, hacia el cual el mensaje es enviado.

    El nombre del método que el objeto receptor del mensaje ejecutará.

    Cualquier información adicional requerida por el objeto receptor para ejecutar el método solicitado (parámetros).

    Los objetos se activan mediante la recepción de mensajes.

    La interacción entre objetos se produce mediante mensajes. Un mensaje es una petición dirigida a un objeto, que le ordena que ejecute uno de sus métodos.

  • interacción

    Girar (izquierda) Girar (derecha)

    Mensaje (método)

    Objeto persona

    Objeto bicicleta

    Mensaje (método)

  • Ocu

    ltam

    ien

    to d

    e D

    ato

    s

    Ab

    stra

    cció

    n

    En

    cap

    sula

    mie

    nto

    Here

    nci

    a

    POO

    Po

    lim

    orf

    ism

    o

  • “Técnica que permite reconocer los elementos esenciales para la solución de un problema dejando al lado los detalles irrelevantes”.

    La abstracción consiste en captar las características esenciales de un objeto, así como su comportamiento, al tiempo que se ignoran los detalles no esenciales.

    El encapsulamiento es la propiedad que permite agrupar juntos en una única unidad de programación, las características (atributos) y comportamiento (métodos) de un objeto. En POO, las clases son las unidades de programación que encapsulan atributos y métodos.

    Abstracción

    Encapsulamiento

  • Es la propiedad que permite definir nuevas clases a partir de una clase base ya existente. Las nuevas clases creadas se denominan clases derivadas (clases hijos ó subclases) y heredan los atributos y métodos de la clase base (clase padre ó superclase), además, estas clases derivadas pueden tener otros atributos y métodos propios, adicionales.

    Es una propiedad que permite que diversos objetos respondan de modo diferente al mismo mensaje.

    Ocultación de datos

    Polimorfismo

    Herencia

    Los atributos (datos) de un objeto deben ser privados, es decir, no pueden ser modificados ni obtenidos por otros objetos, solamente pueden ser manipulados por los propios métodos internos del objeto.