Mi primera aplicación en .NET

68
MSP Diego Poza diegopoza.wordpress .com

description

Mi primera aplicación en .NET. MSP Diego Poza diegopoza.wordpress.com. El sistema de tipos. Tipos Primitivos Variables y constantes Enumeraciones Arrays(Arreglos). Tipos Primitivos. Variables y Constantes. Declarar Variables - PowerPoint PPT Presentation

Transcript of Mi primera aplicación en .NET

Page 1: Mi primera aplicación en .NET

MSP Diego Pozadiegopoza.wordpress.com

Page 2: Mi primera aplicación en .NET

El sistema de tiposTipos PrimitivosVariables y constantesEnumeracionesArrays(Arreglos)

Page 3: Mi primera aplicación en .NET

Tipos Primitivos.NET  Framework    VB 2005    VB6   

System.Boolean Boolean Boolean *

System.Byte Byte Byte

System.Int16 Short Integer

System.Int32 Integer Long

System.Int64 Long N.A.

System.Single Single Single

System.Double Double Double

System.Decimal Decimal Currency *

System.Char Char N.A. (ChrW)

System.String String String *

System.Object Object Variant / Object *

System.DateTime Date Date *

System.SByte SByte N.A.

System.UInt16 UShort N.A.

System.UInt32 UInteger N.A.

System.UInt64 ULong N.A.

Page 4: Mi primera aplicación en .NET

Variables y ConstantesDeclarar Variables

Cuando se declaran variables automaticamente se inicializan con el valor por defecto.

Declarar Variables y asignarle un valor inicial

Declarar constantes

Dim a, b, c As Integer

Dim a As Integer = 10

Const constante = 100

Page 5: Mi primera aplicación en .NET

Enumeraciones: Constantes agrupadasDeclarar enumeración

Las enumeraciones poseen un tipo de datos implícito por defecto Integer

Enum Colores Rojo Verde Azul End Enum

Page 6: Mi primera aplicación en .NET

Arrays (Arreglos)Declarar arreglo

Declarar e inicializar un arreglo

Arreglos de mas dimensiones

Dim nombres() As String

Dim nombres(10) As String

Dim nombres() As String = {"Pepe", "Juan", "Luisa"}

Dim nombres(,) As String = {{"Juan", "Pepe"}, {"Ana", "Eva"}}

nombres(0,0)= Juannombres(0,1)= Pepenombres(1,0)= Ananombres(1,1)= Eva

Page 7: Mi primera aplicación en .NET

Arrays (Arreglos)Cambiar el tamaño de un array: Redim

nombres(50)Eliminar el contenido de un array: EraseLos arrays son tipos por referenciaDim nombres() As String = {"Juan", "Pepe", "Ana", "Eva"}Dim otros() As Stringotros = nombresnombres(0) = "Antonio"

Page 8: Mi primera aplicación en .NET

Repasando las Estructuras de

Control

Page 9: Mi primera aplicación en .NET

Estructuras de Control

El orden de ejecución de las sentencias de un programa determina su flujo de control

Las estructuras de control permiten alterar el orden del flujo de control

Existen dos tipos básicosDe SelecciónDe Repetición o Iteración

Page 10: Mi primera aplicación en .NET

Estructuras de Control Selectivas (1/2)

Dirigen el flujo de ejecución según el resultado de evaluación de expresiones

IF

si condición_logicaentonces hacer acción A

sino hacer acción Bfin_si

Page 11: Mi primera aplicación en .NET

Ejemplo Ifif numero > 10

then hacer acción A else hacer acción BEnd if

Page 12: Mi primera aplicación en .NET

Estructuras de Control Selectivas (2/2)

CASEsegún selector hacer

C11,C12,…: sentencia 1 C21,C22,…: sentencia 2

…..[sino sentencia x]

fin_según

Page 13: Mi primera aplicación en .NET

Ejemplo CaseSelect edad hacer

Case <12: Escribir(“Infante”) Case <20: Escribir(“Adolescente”)Else: Escribir(“Adulto”)

fin_según

Page 14: Mi primera aplicación en .NET

Estructuras de Control Repetitivas (1/3)

Permiten ejecutar un conjunto de sentencias repetidamente una cierta cantidad de veces o hasta que se cumpla una determinada condición

El conjunto de sentencias se denomina bucleCada repetición del cuerpo del bucle se

denomina iteración

Page 15: Mi primera aplicación en .NET

Estructuras de Control Repetitivas (2/3)WHILE

mientras condición hacersentencia/s…..

fin_mientras

Page 16: Mi primera aplicación en .NET

Ejemplo WhileWhile condición

sentencia/s…..

End While

Page 17: Mi primera aplicación en .NET

Estructuras de Control Repetitivas (3/3)FOR

Para variable valor_inicial hasta valor_final hacer

sentencia/s…..

fin_para

Page 18: Mi primera aplicación en .NET

Ejemplo FORFor variable = 1 To 10 [Step 2]

sentencia/s…..

Next

Page 19: Mi primera aplicación en .NET

Introducción a la Programación

orientada a objetos

Page 20: Mi primera aplicación en .NET

Objetivo

Describir el Paradigma de Orientación a Objetos incluyendo los conceptos relacionados

al análisis, diseño y programación

Page 21: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Principios de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 22: Mi primera aplicación en .NET

Paradigmas de ProgramaciónHay para todos los gustos

Estructurados (C, Pascal, Basic, etc.)Funcionales (CAML)Declarativos (Prolog)Orientados a Objetos (C#, VB.NET, Smalltalk, Java)Orientados a AspectosHíbridos (Lisp, Visual Basic)Incomprensibles....

Cada enfoque tiene sus ventajas y desventajasCada uno es más apropiado para ciertas cosas

Page 23: Mi primera aplicación en .NET

El mundo color de ObjetosTodo el mundo está compuesto de entidades

que se relacionan e interactúan entre si

¿Qué es un Objeto?Todo es un Objeto ¡¿~?!

¿Es lo mismo de siempre con otro nombre?Pensar en Objetos ….

No es el último grito de la moda (1980s)

Page 24: Mi primera aplicación en .NET

El mundo color de Objetos¿Por qué Orientación a Objetos (OO)?

Se parece más al mundo realPermite representar modelos complejosMuy apropiada para aplicaciones de negociosLas empresas ahora sí aceptan la OOLas nuevas plataformas de desarrollo la han

adoptado (Java / .NET)

Page 25: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Principios de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 26: Mi primera aplicación en .NET

¿Qué es un Objeto?Informalmente, un objeto representa una

entidad del mundo realEntidades Físicas

(Ej.: Vehículo, Casa, Producto)

Entidades Conceptuales (Ej.: Proceso Químico, Transacción Bancaria)

Entidades de Software (Ej.: Lista Enlazada, Interfaz Gráfica)

Page 27: Mi primera aplicación en .NET

¿Qué es un Objeto?Definición Formal (Rumbaugh):

“Un objeto es un concepto, abstracción o cosa con un significado y límites claros en el problema en cuestión”

Un objeto posee (Booch):EstadoComportamientoIdentidad

Page 28: Mi primera aplicación en .NET

Un objeto posee EstadoLo que el objeto sabeEl estado de un objeto es una de las posibles

condiciones en que el objeto puede existirEl estado normalmente cambia en el

transcurso del tiempoEl estado de un objeto es implementado por

un conjunto de propiedades (atributos), además de las conexiones que puede tener con otros objetos

Page 29: Mi primera aplicación en .NET

Un objeto posee ComportamientoLo que el objeto puede hacerEl comportamiento de un objeto determina

cómo éste actúa y reacciona frente a las peticiones de otros objetos

Es modelado por un conjunto de mensajes a los que el objeto puede responder (operaciones que puede realizar)

Se implementa mediante métodos

Page 30: Mi primera aplicación en .NET

Un objeto posee IdentidadCada objeto tiene una identidad única,

incluso si su estado es idéntico al de otro objeto

Page 31: Mi primera aplicación en .NET

¿Qué es una Clase?Una clase es una descripción de un grupo de

objetos con: Propiedades en común (atributos)Comportamiento similar (operaciones)La misma forma de relacionarse con otros

objetos (relaciones)Una semántica en común (significan lo mismo)

Una clase es una abstracción que:Enfatiza las características relevantesSuprime otras características (simplificación)

Un objeto es una instancia de una clase

Page 32: Mi primera aplicación en .NET

Objetos y ClasesUna clase es una definición abstracta de un

objetoDefine la estructura y el comportamiento

compartidos por los objetosSirve como modelo para la creación de objetos

Los objetos pueden ser agrupados en clases

Page 33: Mi primera aplicación en .NET

Ejemplo de una ClaseClase: CursoEstado (Atributos)

NombreUbicaciónDías OfrecidosHorario de InicioHorario de Término

Comportamiento (Métodos)Agregar un AlumnoBorrar un AlumnoEntregar un Listado del CursoDeterminar si está Completo

Page 34: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Pilares de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 35: Mi primera aplicación en .NET

Modificadores de AccesoPermiten definir el nivel de acceso

(visibilidad) de los miembros (atributos o métodos) de una clasePublico: Cualquier clase puede “ver” los

miembros públicos de otra clasePrivado: Sólo la clase puede ver sus propios

miembros privadosExisten otros dos modificadores para

propósitos específicos (Paquete, Protegido)

Page 36: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Pilares de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 37: Mi primera aplicación en .NET

¿Qué es UML?“UML es un lenguaje visual para especificar,

construir y documentar sistemas” (OMG - Object Management Group)

Unified (UNIFICADO):El aporte de muchos métodos y notacionesIndependiente de implementaciones, plataformas y

lenguajesModeling (MODELADO):

Los modelos son utilizados en todas las ingenieríasLanguage (LENGUAJE):

Si hay gente, requieren comunicarse. Si se tienen que comunicar, se tienen que entender. Para entenderse necesitan un lenguaje común

¡UML no es Metodología!

Page 38: Mi primera aplicación en .NET

Una Clase en UMLUna clase está compuesta de

tres seccionesLa primera sección contiene el

nombre de la claseLa segunda sección muestra la

estructura (atributos)La tercera sección muestra el

comportamiento (operaciones)La segunda y la tercera

sección pueden ser suprimidasModificadores de Acceso

Los miembros públicos se denotan con el signo “+”

Los miembros privados se denotan con el signo “–”

+AgregarAlumno()+BorrarAlumno()+GenerarListadoCurso()+EstaCompleto()

-nombre-ubicacion-dias-inicio-fin

Curso

Page 39: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Pilares de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 40: Mi primera aplicación en .NET

RelacionesRelaciones

HerenciaHerencia

AbstracciónAbstracción

Encapsulamiento Encapsulamiento

Page 41: Mi primera aplicación en .NET

AbstracciónIgnorancia Selectiva

La abstracción nos ayuda a trabajar con cosas complejas

Se enfoca en lo importanteIgnora lo que no es importante (simplifica)

Una clase es una abstracción en la que: Se enfatizan las características relevantes Se suprimen otras características

Una clase debe capturar una y solo una abstracción clave

Page 42: Mi primera aplicación en .NET

EncapsulamientoPrincipio que establece que los atributos

propios de un objeto no deben ser visibles desde otros objetosDeben ser declarados como privados

Permite abstraer al resto del mundo de la complejidad de la implementación interna

Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos definido mediante miembros públicos

¿Por qué es útil?Punto de Control/ValidaciónMejor respuesta ante los Cambios

Page 43: Mi primera aplicación en .NET

RelacionesTodo sistema abarca muchas clases y objetos Los objetos contribuyen en el

comportamiento de un sistema colaborando entre si La colaboración se logra a través de las

relaciones Existen dos tipos principales de relaciones

AsociaciónAgregación

Page 44: Mi primera aplicación en .NET

Relaciones de AsociaciónUna asociación es una conexión entre dos

clases que representa una comunicaciónUna asociación puede tener nombreLa comunicación puede ser tanto uni como bi-

direccional (por defecto)La multiplicidad es el número de instancias que

participan en una asociaciónEjemplo:

Una Persona es Dueña de un VehículoUn Vehículo Pertenece a una Persona

Persona Vehiculo-dueño

Page 45: Mi primera aplicación en .NET

Relaciones de AgregaciónLa agregación es una forma especial de

asociación donde un todo se relaciona con sus partesTambién se conoce como “una parte de” o una

relación de contenciónEjemplo:

Una Puerta es una parte de un VehículoEl Vehículo es azul, la Puerta es AzulMover el Vehículo implica mover la Puerta

+Mover()

-color

Vehiculo Puerta

Page 46: Mi primera aplicación en .NET

HerenciaEs una relación entre

clases en la cual una clase comparte la estructura y comportamiento definido en otra clase (Grady Booch)

Cada clase que hereda de otra posee:Los atributos de la clase

base además de los propiosSoporta todos o algunos de

los métodos de la clase baseUna subclase hereda de

una clase base

+Avanzar()+Detenerse()

-pasajeros

Transporte

Automóvil Avión

Clase BaseClase Base

Clases Derivadas Clases Derivadas oo

subclasessubclases

Page 47: Mi primera aplicación en .NET

HerenciaHerencia “Es-Un”: herencia real, donde la

subclase es un tipo específico de la superclaseUn Cuadrado es un RectánguloUn perro es un mamíferoUn automóvil es un vehículo a motor

Page 48: Mi primera aplicación en .NET

Temas a TratarParadigmas de ProgramaciónClases y ObjetosModificadores de Acceso¿Qué es UML?Principios de la Orientación a ObjetosConceptos del Diseño Orientado a Objetos

Page 49: Mi primera aplicación en .NET

Es la propiedad que tienen los objetos de permitir invocar genéricamente un comportamiento (método) cuya implementación será delegada al objeto correspondiente recién en tiempo de ejecución

El polimorfismo tiende a existir en las relaciones de herencia, pero no siempre es así

Polimorfismo

Page 50: Mi primera aplicación en .NET

Polimorfismo - EjemploLa definición del método reside en la clase

baseLa implementación del método reside en la

clase derivadaLa invocación es resuelta al momento de

ejecución

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Transporte

Avanzar

Frenar

Page 51: Mi primera aplicación en .NET

Clases y EstructurasClasesDefinir una claseInstanciar una claseEstructurasPropiedades

Page 52: Mi primera aplicación en .NET

ClasesSon tipos por referenciaTodas las clases derivan del tipo Object

Page 53: Mi primera aplicación en .NET

Definir Una ClaseDefinición

Miembros de una claseEnumeraciones Campos Métodos (funciones o procedimientos) Propiedades Eventos

Class Cliente Public Nombre As String Public Apellidos As String

End Class

Page 54: Mi primera aplicación en .NET

Instanciar: Crear un objeto en la memoriaPrimero declaramos la variable

Luego instanciamos (creamos el objeto en memoria)

A partir de este momento, la variable c tiene acceso a un nuevo objeto del tipo Cliente, por tanto podremos usarla para asignarle valores y usar cualquiera de los miembros que ese tipo de datos contenga:

Dim c As Cliente

c = New Cliente

c.Nombre = "Antonio“c.Apellidos = "Ruiz Rodríguez"

Page 55: Mi primera aplicación en .NET

Estructuras: Tipos por valor definidos por el usuarioDefinir una estructura

Utilizar una estructura

Structure PuntoPublic X As IntegerPublic Y As Integer

End Structure

Dim p As Puntop.X = 100p.Y = 75

Page 56: Mi primera aplicación en .NET

EventosLa forma que tienen nuestras clases y

estructuras de comunicar que algo está ocurriendo, es por medio de eventos.

Principalmente se usan para Interceptar los eventos de los controles de un formulario

Ej. Click de un botón, Carga de un formulario

Page 57: Mi primera aplicación en .NET

Desarrollo de Aplicaciones¿Qué tipo de aplicaciones puedo desarrollar

con Visual Basic 2005 Express?Podrá desarrollar principalmente, Aplicaciones para Windows, Bibliotecas de Clases y Aplicaciones de Consola, Aplicaciones Web, etc. Además, podrá añadir sus propias plantillas para obtener un mayor rendimiento en el desarrollo de aplicaciones.

Page 58: Mi primera aplicación en .NET

Uso del diseñador de Visual BasicCuadro de herramientasExplorador de Bases de DatosExplorador de SolucionesPropiedadesMenús y barras de botones

Page 59: Mi primera aplicación en .NET

ControlesDatosComponentesControles ComunesGeneral

Page 60: Mi primera aplicación en .NET

Nuestra primera aplicación: Aplicación de ConsolaCrear una aplicación que dados 2 números nos

calcule el cociente y el resto y que termine cuando se lo indiquemos

Consideraciones:Escribir en pantalla:

Console.WriteLine(“mensaje”)Leer input del usuario:

variable=Console.ReadLineLimpiar la pantalla: Console.Clear

Page 61: Mi primera aplicación en .NET

Aplicación Windows

ConsideracionesPropiedades comunes de los controles

Text (Name) Enabled Visible

Page 62: Mi primera aplicación en .NET

Aplicación Agenda de WindowsPARTE I:Agregue un formulario Splash a su aplicación que se

mostrará durante 4 segundos.Agregue un Formulario MDI (este formulario tiene que

aparecer después del splash) con un menú principal de la siguiente manera:

 MENUSMenú Archivo

Abrir Guardar como Salir

Datos Capturar datos Reporte

Agregue la funcionalidad al elemento del menú Archivo -> Salir para cerrar la ventana.

Page 63: Mi primera aplicación en .NET

Aplicación AgendaPARTE II:Agregue un formulario de captura de datos

de la agenda (un Formulario secundario MDI) que incluya:

 

Etiqueta Tipo ValidaciónTipo ComboBox Aceptar los datos: Amigo, Familiar, Cliente, o Proveedor

Nombre TextBox Cadena con no más de 50 caracteres.

Correo electrónico TextBox Una “@” no se debe incluir en el primer caracter, por lo menos un “.” después de la “@”

Código Postal TextBox Todos los caracteres deben ser números y la longitud fija = 5

Fecha de nacimiento DatePicker La fecha debe ser anterior a hoy.

Page 64: Mi primera aplicación en .NET

Aplicación AgendaTambién tiene que incluir un

CommandButton para validar que estén cargados todos los datos, y mostrar un MessageBox cuando haya terminado.

Utilice un ErrorProvider para mostrar los errores que validan a cada control.

Agregue la funcionalidad al elemento del menú Datos -> Capturar datos para mostrar este formulario como secundario MDI.

Page 65: Mi primera aplicación en .NET

Aplicación Agenda

PARTE IIIIncluya un DataSet al proyecto.Agregue una Tabla al DataSet con los campos

Correo, Nombre, TipoContacto, FechaDeNacimiento y CodigoPostal. Aquí se almacenarán los datos de los contactos.

Agregue la funcionalidad al botón de comandos para agregar una fila a la tabla para cada dato capturado.

Agregue un formulario a su aplicación para mostrar los datos almacenados en la Tabla.

Agregue la funcionalidad al elemento del menú Datos -> Reporte para mostrar este formulario como secundario MDI.

Page 66: Mi primera aplicación en .NET

Aplicación Agenda

PARTE IV:Agregue la funcionalidad a los elementos del

menú Archivo -> Guardar como para mantener el DataSet en un archivo XML.

Agregue la funcionalidad a los elementos del menú Archivo -> Abrir para recuperar el DataSet de un archivo XML.

Page 67: Mi primera aplicación en .NET

Direcciones de interésBlog

diegopoza.wordpress.comMicrosoft Desarrollador 5 estrellas

www.dce2005.comMicrosoft Estudiantes

www.microsoft.com/spanish/msdn/latam/estudiantes

Grupo de Usuarios Microsoft Argentinawww.mug.org.ar

Microsoft Technettechnet.microsoft.com

Page 68: Mi primera aplicación en .NET

Preguntas