introduccion a la programacion orientada a objetos
DESCRIPTION
titulo:Introducccion a la programacion orientada a objetosClase: Programacion de AplicacionEscuela: UTS (Universidad Tecnologica del Sur de Sonora)TRANSCRIPT
PROGRAMACIÓN DE APLICACIONES
Instructor : Nataniel Marcial Chavez
07.05.11 Programación de aplicaciones
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
I . PRINCIPIOS BÁSICOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
07.05.11 Programación de aplicaciones
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
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.
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.
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
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
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.
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.
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.
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
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
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.
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
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
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
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
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
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
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
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:
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
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
I I . CONCEPTOS AVANZADOS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS.
07.05.11 Programación de aplicaciones
I I I . PATRONES DE DISEÑO
07.05.11 Programación de aplicaciones
IV. SEGURIDAD EN EL DESARROLLO DE APLICACIONES
07.05.11 Programación de aplicaciones