Teoría de La Programación Orientada a Objetos

21
Teoría de la Programación Orientada a Objetos. Lenguaje de Programación I Docente: Ingº Edwin Vallejos Attilano FACULTAD DE INGENIERIA INDUSTRIAL Y SISTEMAS

description

Teoría de La Programación Orientada

Transcript of Teoría de La Programación Orientada a Objetos

Page 1: Teoría de La Programación Orientada a Objetos

Teoría de la Programación Orientada a Objetos.

Lenguaje de Programación I

Docente: Ingº Edwin Vallejos Attilano

FACULTAD DE INGENIERIA INDUSTRIAL Y SISTEMAS

Page 2: Teoría de La Programación Orientada a Objetos

2

Temas a desarrollar

1. Programación orientada a objetos (POO)

2. Ventajas de la POO

3. Abstracción

4. Clase

5. Instancia de una clase

6. Definición de objeto

7. Mensaje

8. Clase – Subclase - Supercalse

9. Herencia

10. Encapsulamiento

11. Polimorfismo

Page 3: Teoría de La Programación Orientada a Objetos

3

Programación Orientada a Objetos

Se inicia en la década de los 80.

Es una evolución de la programación procedural.

Es una forma de diseño y una metodología de desarrollo de software.

Permite crear software, de forma que este organizado en la misma manera como se observa en la realidad.

Presta especial atención a la interrelación que existe entre los datos y las acciones a realizar sobre ellos.

Page 4: Teoría de La Programación Orientada a Objetos

4

Ventajas de la POO

Uniformidad

Existe una formalidad en el análisis, diseño y codificación.

Comprensión

La utilización de “clases” facilita su entendimiento.

Flexibilidad

Los cambios se realizan en forma fácil y rápida.

Estabilidad

Permite diferenciar aquellos objetos que permanecen

constantes de los que cambian con frecuencia.

Reusabilidad

Objetos creados en un programa se pueden utilizar en

otros programas.

Page 5: Teoría de La Programación Orientada a Objetos

5

Abstracción

Proceso mental, que permite al individuo comprender un concepto de un objeto sin que éste se encuentre.

Es la capacidad mental superior que tiene todo ser humano para poder deducir la esencia de un concepto o situación determinada.

Consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan para que luego de observarlo podamos describirlo por medio de sus principales y mas resaltantes características.

Ejercicios : Realice la abstracción de los objetos :

Mouse Libro Disco DVD

Page 6: Teoría de La Programación Orientada a Objetos

6

Clase

Es una abstracción que realizamos de nuestra experiencia sensible.

El ser humano tiende a agrupar seres, elementos o cosas (objetos) con características similares en grupos (clases).

Haciendo abstracción de los rasgos comunes de todos los elementos de la clase se logrará tener el concepto de lo que es la clase.

Agrupa objetos que tienen las mismas características y similares comportamientos.

Caso aplicativo

Identifique la mayor cantidad de elementos de la clase que supone usted se tomaron en cuenta para llegar al concepto de pelota.

Page 7: Teoría de La Programación Orientada a Objetos

7

Clase

Ejercicios

Identifique los elementos de la clase que dieron origen a los siguientes conceptos :

perro auto celular

Conclusión respecto de lo que es clase

Es un molde o plantilla para generar objetos.

Todo objeto pertenece a una clase (tipo).

Los objetos que conforman la clase tienen las mismas características (atributos) y comportamiento (método).

Permite la generalización de los objetos.

Page 8: Teoría de La Programación Orientada a Objetos

8

Clase

Ejercicios

Identifique los atributos y métodos de las siguientes clases.

Televisores Botones de comando Programas

Los atributos de los objetos que forman las clase, así como sus operaciones que se realizan sobre ellos, dependen del tipo de aplicación.

Caso aplicativo

Identifique la clase, objeto, atributos y métodos de una aplicación :

Orientada al juego de la baraja.

Orientada a la fabricación de las barajas.

Page 9: Teoría de La Programación Orientada a Objetos

9

Instancia de una clase : Objeto

Clase cilindro

Objeto cilindro 2

Objeto cilindro 1

Instancia

Al instanciar la clase crea el objeto.

Page 10: Teoría de La Programación Orientada a Objetos

10

Instancia de una clase : Objeto

Apodo

Apellido

Contar chiste

Actuar

Importante

• Cómico es una clase

• Barraza es un Objeto

• Barraza es un Objeto

del tipo Cómico

• Barraza es una instancia

de la clase Cómico

Gordo Casareto Contar chiste Actuar

Chato Barraza Contar chiste Actuar

Ejemplo

CLASE

objetos

Page 11: Teoría de La Programación Orientada a Objetos

11

Definición de Objeto

La idea fundamental de los LPOO es combinar en una unidad, datos (atributos) y procesos (métodos) que operan sobre esos datos. A tal unidad se le denomina objeto.

Estructura de un objeto

Page 12: Teoría de La Programación Orientada a Objetos

12

Mensaje

Es una petición de un objeto a otro objeto al que le solicita ejecutar uno de sus métodos.

Es la forma como se comunican los objetos.

Por convenio, el objeto que envía la petición se denomina emisor y el objeto que la recibe se denomina receptor.

Un mensaje tiene tres partes:

Nombre del receptor

El método que se ha de ejecutar

Información especial necesaria para realizar el método invocado (argumentos o parámetros requeridos).

Page 13: Teoría de La Programación Orientada a Objetos

13

Mensaje

m

Mensaje

El conjunto de mensajes a los cuales puede responder un objeto se le denomina Protocolo del objeto.

Observe como los mensajes van dirigidos a métodos específicos y en ningún caso tienen acceso a los atributos del objeto.

Page 14: Teoría de La Programación Orientada a Objetos

14

Clase – Subclase – Superclase

Vertebrados

Mamíferos

Carnívoros

Félidos Cánidos

Las clases superiores (superclase) son más

generales que las inferiores ( subclases )

¿Existen las clases:

- Leones

- Tigres

- Perros?

Page 15: Teoría de La Programación Orientada a Objetos

15

Herencia

Permite que partiendo de una clase a la que se denomina clase base, padre o super clase, creamos una nueva llamada clase derivada, hija o subclase.

La nueva clase creada dispone de todo el código de la clase base mas el código propio de la nueva clase, esto permitirá extender sus funcionalidades.

Ejemplo :

Clase -> Bicicletas

SubClase -> Bicicletas de carrera

Page 16: Teoría de La Programación Orientada a Objetos

16

Herencia

Ejercicios

Identifique los atributos y métodos de la clase Vehículo

¿Qué atributos y métodos comunes tienen cada subClases?

¿Qué atributos y métodos han heredado las subClases?

¿Qué atributos y métodos son propios de cada subClase?

Vehículos

Autos Camionetas Camiones

Page 17: Teoría de La Programación Orientada a Objetos

17

Encapsulamiento

El encapsulado protege al objeto y sus datos del uso arbitrario o mal intencionado.

Simplifica el uso de objetos, ya que un programador que utilice un objeto, no necesita conocer los detalles de su implementación, solo se debe limitar a utilizarlo.

Ejemplo

El control remoto de un televisor, tiene algunos métodos conocidos como encender, apagar, cambiar de canal, etc.

Sabemos que estos métodos funcionan, pero no se sabe como lo hacen.

Page 18: Teoría de La Programación Orientada a Objetos

18

Encapsulamiento

Ejercicios

Respecto al encapsulamiento, escriba del objeto que cumpla con esta característica:

Su nombre

Lo que oculta

Su interface

Su funcionamiento básico

Realice lo solicitado para:

1. Un objeto de su casa

2. Un objeto del salón

Page 19: Teoría de La Programación Orientada a Objetos

19

Polimorfismo

Significa muchas formas.

Determina que el mismo nombre del método, realizará diferentes acciones según el objeto sobre el que sea aplicado.

Juan, limpia autos

Ejemplo Sean los objetos Pedro, limpia baños

Raúl, limpia oficina

Cada uno de estos objetos tiene un método para cumplir su función, al cual vamos a llamar Limpiar, si se mandara el mensaje Limpiar y éste llega a los objetos mencionados, cada uno desarrollará el método apropiado para cumplir su función.

Page 20: Teoría de La Programación Orientada a Objetos

20

Polimorfismo

Ejercicios

Respecto al polimorfismo:

1. Encuentre en el Windows un proceso en donde se pueda apreciar esta característica e indique el nombre del proceso y explique como ocurre esto.

2. Encuentre en una clase de cualquier curso un proceso en donde se pueda apreciar el polimorfismo e indique el nombre de este y como ocurre esto.

Page 21: Teoría de La Programación Orientada a Objetos

21

NO ES HUERFANO EL HOMBRE QUE HA

CRECIDO CON LOS PADRES MUERTOS,

SINO AQUEL QUE NO HA RECIBIDO

EDUCACIÓN AUN TENIENDO A LOS

PADRES VIVOS.