unidad i principios basicos de la poo ver2.1

42
Ver. 2.1.002012 PROGRAMACIÓN DE APLICACIONES Mtro. Alejandro Vázquez Rodríguez Mtro. David Humberto Jiménez Camacho Septiembre - Diciembre 2012

Upload: secretaria-de-comunicaciones-y-transportes

Post on 13-Jun-2015

1.064 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012

PROGRAMACIÓN DE APLICACIONES

Mtro. Alejandro Vázquez Rodríguez

Mtro. David Humberto Jiménez Camacho

Septiembre - Diciembre 2012

Page 2: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Competencias

• Dirigir proyectos de tecnologías de información (T.I.)para contribuir a la productividad y logro de losobjetivos estratégicos de las organizacionesutilizando las metodologías apropiadas.

• Evaluar sistemas de tecnologías de información (T.I.)para establecer acciones de mejora e innovaciónen las organizaciones mediante el uso de metodologíaspara auditoría.

Page 3: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Objetivo de la Asignatura

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.

Page 4: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Unidades Temáticas

I. Principios básicos de la Programación Orientada

a Objetos.

II. Conceptos avanzados de la Programación

Orientada a Objetos.

III. Patrones de diseño.

IV. Seguridad en el desarrollo de aplicaciones.

Page 5: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Unidad I. Principios básicos de la P.O.O.

Objetivo

El alumno programará aplicaciones

Orientadas a Objetos para satisfacer las

necesidades básicas de la empresa.

Page 6: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Resultado de Aprendizaje

Elaborará una aplicación que contenga:

Clases, objetos, atributos, métodos y

herencia.

Relaciones de agregación y/o

asociación documentada en un

reporte que incluya:

◦ Plantilla personalizada para evitar

errores de sintaxis en la codificación.

◦ Código fuente de la aplicación.

Page 7: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Agenda

1.1 Paradigma de POO, Clases y Objetos,

Atributos, Métodos y Herencia.

1.2 Agregación y asociación.

Page 8: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Paradigma de programación

La programación como cualquier otro

arte, por ejemplo: Las Artes Plásticas,

posee diferentes estilos, técnicas o modos

de pensar diferentes para programar.

Page 9: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Paradigmas de programación

Estructurada, procedural o imperativa.

Funcional.

Orientada a Objetos.

Page 10: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Paradigma de P.O.O.

Los datos se consideran la parte más importantedel programa, de modo que se agrupan enobjetos.

Los objetos modelan las características de losproblemas del mundo real, su comportamientoante estas características y su forma deinteractuar con otros elementos.

SMALLTALK, C++, JAVA, C# son algunos de loslenguajes que soportan este paradigma.

Objetos + Mensajes = Programas

Page 11: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Clases

Una clase es la definición de lascaracterísticas concretas de undeterminado tipo de objetos. Es decir, decuáles son los datos y los métodos de losque van a disponer todos los objetos deese tipo.

Equivale a la generalización de un tipoespecífico de objetos, pero cada objetoconstruido de esa clase tendrá suspropios datos.

Page 12: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Objetos

Un objeto es un agregado de datos y de

métodos que permiten manipular dichos

datos, y un programa en C# no es más

que un conjunto de objetos que

interaccionan unos con otros a través de

sus métodos.

Page 13: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Sintaxis de definición de clases

La sintaxis básica para definir una clase es

la que a continuación se muestra:

class <nombreClase>

{

<miembros>

}

Page 14: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Miembros

Los miembros de una clase son los

datos y métodos de los que van a

disponer todos los objetos de la misma.

Un ejemplo de cómo declarar una clase

de nombre A que no tenga ningún

miembro es la siguiente:

class A

{}

Page 15: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Atributos/campos

Un atributo/campo es un dato común a

todos los objetos de una determinada

clase. Los campos de los que una clase

dispone se declaran en la zona señalada

como <miembros>.

Page 16: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Métodos

Un método es un conjunto deinstrucciones a las que se les asocia unnombre de modo que si se deseaejecutarlas basta referenciarlas a través dedicho nombre en vez de tener queescribirlas. Dentro de estas instruccioneses posible acceder con total libertad a lainformación almacenada en los campospertenecientes a la clase dentro de la queel método se ha definido.

Page 17: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Ejemplo de una declaración de clase

class Persona

{

string Nombre; // Campo de cada objeto Persona que almacena su nombre

int Edad; // Campo de cada objeto Persona que almacena su edad

string RFC; // Campo de cada objeto Persona que almacena su RFC

void Cumpleanhos() // Incrementa en uno de la edad del objeto Persona

{

Edad++;

}

}

Page 18: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Creación de objetos con el

operador new

new <nombreTipo>(<parametros>)

Este operador crea un nuevo objeto del tipo cuyonombre se le indica y llama durante su procesode creación al constructor del mismo apropiadosegún los valores que se le pasen en<parametros>, devolviendo una referencia alobjeto recién creado.

new no devuelve el propio objeto creado, sinouna referencia a la dirección de memoriadinámica donde en realidad se ha creado.

Page 19: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Lo más normal suele ser crear variables

donde almacenar referencias a objetos

que creamos, las instrucciones anteriores

pueden compactarse en una sola así:

Persona p = new Persona();

Clase a crearseObjeto o Instancia

creada

TipoClase a

crearse con o sin

Parámetros

Operador para

crear instancias

Page 20: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Invocación de métodos

Una vez creado el objeto se usa la siguientesintaxis para llamar a los métodos de unobjeto, es la misma que la usada para llamara sus campos, sólo que ahora tras el nombredel método al que se desea llamar hay queindicar entre paréntesis cuáles son losvalores que se desea dar a los parámetrosdel método al hacer la llamada. O sea, seescribe:

<objeto>.<método>(<parámetros>)

Page 21: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Herencia

El mecanismo de herencia es uno de lospilares fundamentales en los que se basa laprogramación orientada a objetos.

Es un mecanismo que permite definir nuevasclases a partir de otras ya definidas de modoque si en la definición de una clase indicamosque ésta deriva de otra, entonces la primera-a la que se le suele llamar clase hija- serátratada por el compilador automáticamentecomo si su definición incluyese la definiciónde la segunda –a la que se le suele llamarclase padre o clase base.

Page 22: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Las clases que derivan de otras se definen

usando la siguiente sintaxis:

class <nombreHija>:<nombrePadre>

{

<miembrosHija>

}

Page 23: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Page 24: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

class Persona{

public int Edad;public string Nombre;public string RFC;

public int Cumpleanhos(){

return Edad++;}public Persona(int Ed, string Nom, string rfc){

Edad = Ed;Nombre = Nom;RFC = rfc;

}}

Page 25: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

class Profesor:Persona

{

public int Sueldo;

public Profesor(int Ed, string Nom, string rfc, int sue):base(Ed,Nom,rfc)

{

Sueldo = sue;

}

}

Page 26: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

class Program{

static void Main(string[] args){

int Ed,sue;string Nom;string rfc;char R;

Console.WriteLine("Intoduce tu Nombre");Nom = Console.ReadLine();Console.WriteLine("Intoduce tu RFC");rfc = Console.ReadLine();Console.WriteLine("Intoduce tu Edad");Ed = Convert.ToInt32(Console.ReadLine());Console.WriteLine("Intoduce tu Sueldo Fijo");sue = Convert.ToInt32(Console.ReadLine());

Profesor miProf = new Profesor(Ed, Nom, rfc, sue);

Console.WriteLine("\n\n\n HOLA TUS DATOS SON LOS SIGUIENTES \n\n");Console.WriteLine("Tu Nombre es: " + miProf.Nombre);Console.WriteLine("Tu Edad es: " + miProf.Edad);Console.WriteLine("Tu RFC es: " + miProf.RFC);Console.WriteLine("Tu Sueldo es: " + miProf.Sueldo);

}}

Page 27: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012

ActividadDesarrollar una aplicación usando el paradigma O.O.

Debe ofrecer el Siguiente Menú de Opciones, donde solicita la opción deseada.

Áreas Figuras Geométricas1. Triangulo.

2. Rectángulo.

3. Círculo.

4. Salir

Opción:

Page 28: Unidad i   principios basicos de la poo ver2.1

DIAGRAMA DE CLASES

Page 29: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Relación de Agregación

Representa los Objetos Compuestos. Son relaciones del tipo "tiene_un" o "es_parte_de".

Objeto Contenedor

Es aquel que contiene otros objetos. En la agregación, las clases contienen objetos, y no otras clases.

En su método de análisis y diseño, da las siguientes reglas para identificar las relaciones de agregación:

Page 30: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

1. Existe una relación de agregación si en el enunciado del problema hay expresiones de la forma "tiene_un", "es_parte_de"...

2. Cuando existe un concepto "todo" y varios conceptos "partes" que dependen del todo, y las operaciones hechas sobre el todo afectan a las partes.

Ejemplo: Todo: Casa

Partes: Habitaciones

Operación: Pintar casa.

3. También habrá una relación de agregación si observamos que hay cierta asimetría entre las clases y objetos, si hay cierta subordinaciónde unos objetos.

Page 31: Unidad i   principios basicos de la poo ver2.1

EJEMPLOS DE AGREGACIÓN

Page 32: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Ejemplo: Sea "Avión" una clase contenedora, un rombo representa sus relaciones de agregación, y un triángulo las de generalización.

Page 33: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Relación de Asociación

Es una relación entre clases. Implica una

dependencia semántica. Son relaciones del

tipo "pertenece_a" o

"está_asociado_con". Se da cuando una

clase usa a otra clase para realizar algo.

Page 34: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Indica el número de instancias de una clase

que se asocian con las instancias de la otra

clase. Tipos de multiplicidad:

uno_a_uno

ejemplo (primera notación):

ejemplo (segunda notación):

País Capital1 1

Persona D.N.I.

Page 35: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

uno_a_muchos

ejemplo (primera notación):

ejemplo (segunda notación):

País Ciudad1 N

PersonaEmpresa

Page 36: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

muchos_a_muchos

ejemplo (primera notación):

ejemplo (segunda notación):

Estudiante AsignaturaN M

Medico Persona

Page 37: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Ejemplo

Page 38: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Clase Base

using System;

namespace EjemploAgregaAsociacion2

{

public class Avion

{

private Motor motor;

privateTripulantes tripulantes;

}

}

Page 39: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Clase Heredada

using System;

namespace EjemploAgregaAsociacion2

{

public class Pasajeros : Avion

{

}

}

Page 40: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Clase Agregada

using System;

namespace EjemploAgregaAsociacion2

{

public class Motor

{

private Avion avion;

}

}

Page 41: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Clase Asociada

using System;

namespace EjemploAgregaAsociacion2

{

public class Tripulantes

{

private Avion avion;

}

}

}

Page 42: Unidad i   principios basicos de la poo ver2.1

Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.

Bibliografía

Programación Orientada a Objetos

Autor: Luis Joyanes Aguilar.

ED. McGraw- Hill Osborne.

2da Edición

Metodología de la POO

Autor: Leobardo López Román

ED. Alfa-Omega.

Microsoft C#

Autor: Fco. Javier Ceballos.

ED. Alfa-Omega