View
1.063
Download
5
Embed Size (px)
Citation preview
Ver. 2.1.002012
PROGRAMACIÓN DE APLICACIONES
Mtro. Alejandro Vázquez Rodríguez
Mtro. David Humberto Jiménez Camacho
Septiembre - Diciembre 2012
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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>
}
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
{}
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>.
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.
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++;
}
}
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.
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
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>)
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.
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>
}
Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.
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;
}}
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;
}
}
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);
}}
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:
DIAGRAMA DE CLASES
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:
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.
EJEMPLOS DE AGREGACIÓN
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.
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.
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.
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
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
Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.
Ejemplo
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;
}
}
Ver. 2.1.002012Unidad I. Principios básicos de la P.O.O.
Clase Heredada
using System;
namespace EjemploAgregaAsociacion2
{
public class Pasajeros : Avion
{
}
}
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;
}
}
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;
}
}
}
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