introduccion a la programacion orientada a objetos

27
PROGRAMACIÓN DE APLICACIONES Instructor : Nataniel Marcial Chavez 07.05.11 Programación de aplicaciones

Upload: nataniel-marcial-chavez

Post on 03-Jul-2015

416 views

Category:

Documents


3 download

DESCRIPTION

titulo:Introducccion a la programacion orientada a objetosClase: Programacion de AplicacionEscuela: UTS (Universidad Tecnologica del Sur de Sonora)

TRANSCRIPT

Page 1: Introduccion a La Programacion Orientada a Objetos

PROGRAMACIÓN DE APLICACIONES

Instructor : Nataniel Marcial Chavez

07.05.11 Programación de aplicaciones

Page 2: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Programación de aplicaciones

El alumno empleará el paradigma de la programación Orientada a Objetos para el desarrollo de sistemas de información y su seguridad a nivel avanzado.

Ponderaciones de Evaluación Horarios de clase

Unidades Temáticas

Principios básicos de la programación Orientada a Objetos. Conceptos avanzados de la programación orientada a objetos. Patrones de diseño. Seguridad en el desarrollo de aplicaciones.

07.05.11

Programación de aplicaciones

Punto a Evaluar Porcentaje

Asistencia 10.00%

Participacion en clases 10.00%

Tareas 10.00%

Examen 20.00%

Ejercicios de Programacion 50.00%

Hora Entrada Salida

09:40 - 10:30 09:50

10:30 - 11:20 11:15

11:20 - 12:10 11:25

12:10 - 13:00 13:00

Page 3: Introduccion a La Programacion Orientada a Objetos

I . PRINCIPIOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

07.05.11 Programación de aplicaciones

Page 4: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Paradigmas de Programación

Page 5: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Es imposible hablar de paradigmas de programación sin antes saber qué significa el término paradigma, qué es un lenguaje de programación, y entender exactamente qué es el lenguaje

Un lenguaje formal es un lenguaje donde existe una gramática que implementa el conjunto de concatenaciones (cadenas) posibles de un alfabeto finito particular. Esta gramática provee al lenguaje de 3 elementos importantes: 1. Un vocabulario de símbolos; 2. Reglas sintácticas para combinar estos símbolos en cadenas y fórmulas gramaticalmente correctas, y 3. Reglas semánticas para darle significado e interpretación a esas fórmulas.

Page 6: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Lenguajes de Programación

Los lenguajes de programación forman un subconjunto de los lenguajes formales. Mediante ellos el ser humano puede comunicarse con una computadora y decirle qué es lo que tiene que hacer y, al mismo tiempo, sirven para comunicarse con otros seres humanos y expresarles qué es lo que se quiere que haga una computadora

Definición de Paradigma

un paradigma es el resultado de un proceso social en el cual un grupo de personas desarrolla nuevas ideas y crea principios y prácticas alrededor de estas ideas, y no solamente un conjunto de prácticas y conocimientos objetivamente validados.

Page 7: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Paradigmas de Programación

En una primera clasificación, se encuentran dos grandes grupos en donde es posible englobar casi todos los paradigmas de programación conocidos hasta ahora. Aunque existe un gran número de paradigmas, los más esenciales que son: programación imperativa; orientada a objetos; funcional, y lógica

Paradigmas de

Programación

Programación Declarativa

Funcional Lógica

Programación Imperativa

Orientada a Objetos

Visual Orientada a

Eventos Orientada a

Aspectos

Page 8: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Programación Orientado a Objetos

Page 9: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Programación Orientado a Objetos

La programación orientada a objetos (POO) es el paradigma de programación más popular en la actualidad.

Programar bajo este paradigma es como tratar de simular o modelar los objetos del mundo real.

Un objeto está compuesto por estados y métodos. Los estados son propiedades del objeto y están representados por variables con valores únicos para cada objeto y que son llamadas variables de instancia

Los métodos son representaciones de los comportamientos que el objeto es capaz de hacer.

Page 10: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

las propiedades más generales y formales del paradigma de Programación Orientada a Objetos (POO) son:

•Encapsulamiento: Significa que el código o datos de un objeto pueden estar ocultos para cualquier entidad externa a él. •Herencia: La herencia es la propiedad de crear nuevos objetos a partir de la definición de otros. Un objeto “nuevo” será idéntico al modelo que seguimos para crearlo, excepto por algunos cambios incrementales o redefiniciones de sus estados o métodos.

Page 11: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Polimorfismo: Esencialmente, es la propiedad que le permite a un método aceptar o devolver valores de más de un tipo. Formalmente se define así: Siendo M un método y t1 y t2 son dos tipos de datos diferentes, M es polimórfico si M puede ser ejecutado con el argumentot1: M(t1) y el argumentot2:M(t2) De la misma manera una función puede ser definida como polimórfica si al llamarla mediante dos parámetros distintos, arroja un retorno de tipos diferentes.

Page 12: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Ejemplo:

Dado que la Programación Orientada a Objetos pretender Representar los objetos de la vida real tomaremos como Ejemplo a un perro. En este ejemplo, podríamos pensar en cosas como: edad, color, tener hambre, tener ganas de salir al parque, etc., propiedades todas que son intrínsecas a cada perro pero cuyos valores son únicos en cada uno.

En este ejemplo, el perro en particular tendría los métodos: sentarse, echarse, comer, saludar, dormir y bailar, entre otros, y que son comportamientos que probablemente presentan otros perros

Page 13: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Pensar en términos de objetos es muy parecido a cómo lo haríamos en la vida real. Por ejemplo vamos a pensar en un coche para tratar de modelarlo en un esquema de POO. Diríamos que el coche es el elemento principal que tiene una serie de características, como podrían ser el color, el modelo o la marca. Además tiene una serie de funcionalidades asociadas, como pueden ser ponerse en marcha, parar o aparcar. Pues en un esquema POO el coche sería el objeto, las propiedades serían las características como el color o el modelo y los métodos serían las funcionalidades asociadas como ponerse en marcha o parar. Por poner otro ejemplo vamos a ver cómo modelizaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2.

Cómo se piensa en objetos

Page 14: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc. Estos objetos se podrán utilizar en los programas, por ejemplo en un programa de matemáticas harás uso de objetos fracción y en un programa que gestione un taller de coches utilizarás objetos coche. Los programas Orientados a objetos utilizan muchos objetos para realizar las acciones que se desean realizar y ellos mismos también son objetos. Es decir, el taller de coches será un objeto que utilizará objetos coche, herramienta, mecánico, recambios, etc.

Page 15: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. En los ejemplos anteriores en realidad hablábamos de las clases coche o fracción porque sólo estuvimos definiendo, aunque por encima, sus formas.

Clases en POO

Page 16: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Propiedades en clases

Page 17: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Métodos en las clases

Page 18: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto. Para crear un objeto se tiene que escribir una instrucción especial que puede ser distinta dependiendo el lenguaje de programación que se emplee, pero será algo parecido a esto. miCoche = new Coche() Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuación. Dentro de los paréntesis podríamos colocar parámetros con los que inicializar el objeto de la clase coche.

Objetos en POO

Page 19: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomará un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado. Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto. miCoche.color = rojo El objeto es miCoche, luego colocamos el operador punto y por último el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignación.

Estados en objetos

Page 20: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Un mensaje en un objeto es la acción de efectuar una llamada a un método. Por ejemplo, cuando le decimos a un objeto coche que se ponga en marcha estamos pasándole el mensaje “ponte en marcha”. Para mandar mensajes a los objetos utilizamos el operador punto, seguido del método que deseamos invocar. miCoche.ponerseEnMarcha() En este ejemplo pasamos el mensaje ponerseEnMarcha(). Hay que colocar paréntesis igual que cualquier llamada a una función, dentro irían los parámetros.

Mensajes en objetos

Page 21: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

La herencia es uno de los conceptos más cruciales en la POO. La herencia básicamente consiste en que una clase puede heredar sus variables y métodos a varias subclases (la clase que hereda es llamada superclase o clase padre). Esto significa que una subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia. Por ejemplo, imaginemos que estamos haciendo el análisis de un Sistema para una tienda que vende y repara equipos celulares.

Herencia

Page 22: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

En la imagen vemos 2 Clases más que posiblemente necesitemos para crear nuestro Sistema. Esas 2 Clases nuevas se construirán a partir de la Clase Celular existente. De esa forma utilizamos el comportamiento de la SuperClase. En general, podemos tener una gran jerarquía de Clases tal y como vemos en la siguiente imagen:

Page 23: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Describe vínculos entre objetos Multiplicidad:

Uno a Muchos: Ej: Una ciudad pertenece a un país, un país tienes muchas ciudades. Fija: Un perro tiene cuatro patas Variable: Una casa tiene una o más habitaciones

Asociación

Page 24: Introduccion a La Programacion Orientada a Objetos

PR

OG

RA

MA

CIÓ

N D

E AP

LICA

CIO

NES

Principios básicos de la programación Orientada a Objetos

07.05.11

Programación de aplicaciones

Relación del tipo Todo / Parte Ej: La Tierra se compone de 5 continentes Un continente se compone de varios países

Agregación

Page 25: Introduccion a La Programacion Orientada a Objetos

I I . CONCEPTOS AVANZADOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.

07.05.11 Programación de aplicaciones

Page 26: Introduccion a La Programacion Orientada a Objetos

I I I . PATRONES DE DISEÑO

07.05.11 Programación de aplicaciones

Page 27: Introduccion a La Programacion Orientada a Objetos

IV. SEGURIDAD EN EL DESARROLLO DE APLICACIONES

07.05.11 Programación de aplicaciones