Introduccion a la programacion act fasc 8

Page 1

FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

ACTIVIDADES DEL FASCICULO 8

Presentado por: Cristian Camilo Acevedo Moreno

Presentado a: Luis Fernando Niño

Ibagué – Tolima

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

TABLA DE CONTENIDO

INTRODUCCION……………………………………………………………………………. Actividad 8.1…………………………………………………………….………………......... Actividad 8.2…………………………………………………………………….……………. Actividad 8.3………………………………………………………………….……………….

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

INTRODUCCION El mundo está integrado por un conjunto de entidades u objetos que están relacionados y se comunican entre sí. Los objetos pueden ser: personas, árboles, automóviles y casas, teléfonos, computadores, que están relacionados entre sí de alguna manera.

El ser humano tiene una apreciación de su ambiente en términos de objetos, por lo que resulta simple pensar de la misma manera cuando se diseña un modelo para la resolución de un problema por cuanto se tiene la concepción o Pensamiento de objetos de manera intrínseca.

En este fascículo se presenta una visión general del concepto de

Programación

Orientada por Objetos, sus ventajas, lenguajes de programación, clases y objetos, características, entre otros.

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

ACTIVIDAD 8.1 De acuerdo con lo estudiado hasta ahora, complete las celdas de la siguiente tabla.

Aves Gato, Le贸n, Tigre. Leopardo Vaca, elefante, ballena, perro, humano

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

ACTIVIDAD 8.2 Consulte acerca de qué otras características definen la Programación Orientada a Objetos, las cuales complementen los temas hasta el momento vistos en este fascículo.

CARACTERÍSTICAS POO ABSTRACCIÓN Ignorancia Selectiva 

La abstracción nos ayuda a trabajar con cosas complejas

Se enfoca en lo importante

Ignora lo que no es importante (simplifica) Una clase es una abstracción en la que:

Se enfatizan las características relevantes

Se suprimen otras características Una clase debe capturar una y solo una abstracción clave

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

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. HERENCIA Es una relación entre clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch) Cada clase que hereda de otra posee: 

Los atributos de la clase base además de los propios

Soporta todos o algunos de los métodos de la clase base Una subclase hereda de una clase base

La herencia (en la POO) es una potente arma que podemos utilizar para varias cosas, entre ellas, por ejemplo, ahorrar líneas de código heredando de otras clases, compartiendo variables miembro o función miembro. También podemos generar superclases abstractas para definir comportamientos genéricos que necesitemos. La herencia es una de las características que más se hace notar a la hora de escribir código, o reutilizar código de otros programadores. (1)

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

ENCAPSULAMIENTO Principio que establece que los atributos propios de un objeto no deben ser visibles desde otros objetos 

Deben ser declarados como privados Permite abstraer al resto del mundo de la complejidad de la implementación

interna Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos ¿Por qué es útil? 

Punto de Control/Validación

Mejor respuesta ante los Cambios

Otro de los pilares de la orientación a objetos es el encapsulamiento. Para entender este principio veamos un ejemplo práctico: Como todos ustedes se imaginarán, no es necesario ser mecánico de automóviles para poder manejar uno. Si el comprender cómo es el funcionamiento interno del motor, la dirección, los frenos, los cilindros, etc. fuera requisito para poder manejar un automóvil, serían muchos menos los conductores certificados y sería mucho más difícil aprender a manejar. Es más, si a cualquier automotriz se le ocurriera cambiar el funcionamiento FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

interno de alguna de estas cosas, probablemente todos los conductores tendrían que volver a aprender como funciona el nuevo componente interno para poder seguir manejando sin problemas. Por suerte esto no es así, ya que la complejidad interna del funcionamiento de un automóvil está escondida de los conductores (usuarios). Para poder interactuar con el automóvil, éste nos expone una interfaz sencilla y definida, que no cambia nunca por más que cambien internamente el funcionamiento de sus componentes. Esta interfaz está compuesta por el volante, los pedales, la palanca de cambios, el asiento, etc. De esta forma decimos que el automóvil ha encapsulado su complejidad interna.

POLIMORFISMO Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento

(método)

cuya

implementación

será

delegada

al

objeto

correspondiente recién en tiempo de ejecución El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

Ejemplo: Aquí tenemos un ejemplo práctico de la implementación de polimorfismo en un diseño orientado a objetos. Por un lado tenemos la clase base “Transporte”, que posee los métodos “Avanzar” y “Frenar”. Por otro lado tenemos tres clases distintas derivadas de la clase “Transporte”, cada una de las cuales podrá sobrescribir la implementación de los métodos Avanzar y Frenar para que su comportamiento sea más específico. Ahora bien, como todas heredan de la misma clase base, las clases derivadas pueden ser tratadas genéricamente. Esto quiere decir que podríamos tener un array que almacene objetos de tipo Transporte, y recorrerlo luego para llamar al método “Avanzar” de cada uno. De esta forma, en tiempo de codificación es imposible saber a qué método “Avanzar” se está llamando en realidad (al del Auto? Al del caballo? Al del transbordador?), sino que esta decisión es tomada en tiempo de ejecución en base al tipo particular de objeto que esté instanciado. En pseudocódigo, esto se escribiría de la siguiente manera: Definir arrayTransportes (3) de tipo Transporte arrayTransportes(1) = nuevo Automóvil() //Un automóvil ES UN TIPO DE transporte arrayTransportes(2) = nuevo Transbordador() //Un Transbordador ES UN TIPO DE transporte

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION arrayTransportes(3) = nuevo Caballo() //Un Caballo ES UN TIPO DE transporte Por Cada (Transporte t en arrayTransportes) t.Avanzar() t.Frenar() Fin

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

ACTIVIDAD 8.3 Realice una consulta sobre la importancia de las clases para el paradigma de Programación Orientada a Objetos. Presente un informe de sus resultados al tutor.

PROGRAMACIÓN ORIENTADA A OBJETOS DEFINICIÓN La Programación Orientada a Objetos (POO u OOP según sus siglas en inglés) 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. Actualmente son muchos los lenguajes de programación que soportan la orientación a objetos. LA IMPORTANCIA Facilita la creación de software de calidad: potencia en mantenimiento, la extensión y la reutilización. Basada en el mono de pensar del hombre y en el modo de operar de la maquina. El elemento básico no es la función (programación estructurada), si no un ente denominado objeto. FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

COMO SE PIENSA EN OBJETOS Pensar en términos de objetos es muy parecido a como lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modernizarlo en un esquema de poo. Diríamos que el coche es un elemento principal que tiene una serie de características, como podría ser el color, el modelo o la marca. el objeto es algo real o imaginario. composición de un objeto tiempo de vida: duración de un objeto en un programa. los objetos se crean mediante la instalación y dejan de existir cuando son destruidos. estado: definido por sus atributos. comportamiento: definida por sus métodos. las clases abstracciones que representan a un conjunto de objetos con un comportamiento e interfaz común. plantilla para creacion de objetos. cuando se crea un objeto (instalacion se ha de especificar de qué clase es el objeto instanciado, para que el compilador comprenda sus caracteristicas.

FACULTAD DE INGENIERIA DE SISTEMAS 2013


FUNDACION UNIVERSATARIA SAN MARTIN FACULTAD DE INGENIERIA DE SISTEMAS INTRODUCCION A LA PROGRAMACION

estructura de clase atributos: variables que representan el estado de los objetos. métodos: funciones mendiante cuales se representa el comprtmiento de los objetos. estos metodos modifican los valores de los atributos y representan las capacidades del objeto (servicios). EJEMPLOS DE LAS CLASES DE OBJETOS CLASE: PERSONA OBJETO: JUAN, ALBERTO, MARIA CLASE: FIGURA OBJETO: CIRCULO, CUADRADO Y TRIANGULO. CLASE: WEB OBJETO: WWW.INCAP.EDU.CO CLASE: TRANSPOTE OBJETO: CARRO, BARCO Y AVIÓN.

FACULTAD DE INGENIERIA DE SISTEMAS 2013


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.