Programacion de Aplicaciones en ASP.net

download Programacion de Aplicaciones en ASP.net

of 161

Transcript of Programacion de Aplicaciones en ASP.net

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    1/161

    1

    Introduccin a .NET

    1. INTRODUCCIN...............................................................................3

    2. MICROSOFT .NET FRAMEWORK.........................................................3

    2.1. CLR (COMMON LANGUAGE RUNTI ME).......................................3

    2.1.1. CLS (Com m o n L a n g u a g e S p e ci f ic a t i o n )..........................4

    2.1.2. CTS (Com m o n T y p e S y st e m ).........................................4

    2.1.3. CIL (Co m m o n I n t e r m e d i at e L a n g u ag e ).........................4

    2.2. BIBLIOTECA DE CLASES .NET FRAMEWORK..............................5

    3. QU ES MICROSOFT VISUAL STUDIO................................................7

    4. CERTIFICACIONES OFICIALES PARA DESARROLLADORES EN

    VISUAL STUDIO................................................................................8

    GLOSARIO...........................................................................................11

    REFERENCIAS WEB..............................................................................15

    BIBLIOGRAFA....................................................................................17

    ndice

    formacindigital

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    2/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    3/161

    3

    Introduccin a .NET1. INTRODUCCIN

    En este tema estudiaremos algunos conceptos bsicos sobre la plataforma .NET, tambin

    conocida como .NET Framework. Asimismo, veremos qu es Visual Studio e indicaremos

    algunas certificaciones oficiales para desarrolladores.

    Esta base terica nos facilitar el entendimiento y contextualizacin de ASP.NET como un

    framework de .NET para el desarrollo de aplicaciones web.

    2. MICROSOFT .NET FRAMEWORK

    Microsoft .NET Framework es un componente integral de Windows que permite el

    desarrollo de aplicaciones a travs del uso de un conjunto de herramientas y servicios que

    proporciona, los cuales podemos agrupar en dos bloquesprincipales:

    El Entorno de Ejecucin Comno Com m o n La n g u a g e Ru n t i m e (CLR) es el ncleo

    de .NET Framework. Se encarga de la gestin y ejecucin del cdigo, as como de

    proporcionar servicios para facilitar el proceso de desarrollo.

    La Biblioteca de clases de .NET Framework. Este conjunto de clases constituye un

    API de servicios para utilizar en la programacin de nuestras aplicaciones. Por ejemplo,

    las clases para acceder a bases de datos (ADO.NET), para gestionar ficheros XML,

    gestin de hilos (threading), para el desarrollo de aplicaciones web (ASP.NET), etc.

    Por otra parte, ASP.NET es conjunto de tecnologas de Microsoft .NET Framework para la

    creacin de aplicaciones y servicios web.

    2.1. CLR (COMMON LANGUAGE RUNT I ME)

    El CLR es la base del sistema Microsoft .NET. Este motor hace que sea posible el desarrollo

    basado en mltiples lenguajes y la integracin y ejecucin de todos ellos en el entorno .NET.

    Esto se realiza gracias al seguimiento de las especificaciones del CLR por parte de los

    creadores de lenguajes y herramientas de desarrollo.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    4/161

    4

    Introduccin a .NET2.1.1. CLS (Com m o n L a n g u a g e S p e ci f ic a t i o n )

    La Especificacin Comn de Lenguajes se conoce como CLS (Common Language

    Specification) y consiste en un conjunto de caractersticas comunes que deben cumplir todos

    los lenguajes de la plataforma para poder integrarse entre s. Por ejemplo, es posible escribir

    una clase en C# y heredar de dicha clase desde Visual Basic, gracias a que el entorno de

    ejecucin es comn y el cdigo compilado no pasa directamente a cdigo ejecutable puro,

    sino a un cdigo intermedio denominado IL (Intermediate Language).

    Por ello, podemos decir que .NET Framework tiene soporte multilenguaje.

    2.1.2. CTS (Com m o n T y p e S y st e m )

    Estas siglas corresponden a Common Type System o Sistema Comn de Tipos. Es el

    mecanismo del CLR que permite definir el modo en que los tipos de datos sern creados y

    manipulados por el entorno de ejecucin de .NET Framework. As, todos los lenguajes

    pueden trabajar basndose en una serie de especificaciones que hacen posible el intercambio

    de informacin y el trabajo con las libreras bsicas de la plataforma .NET.

    2.1.3. CIL (Co m m o n I n t e r m e d i at e L a n g u ag e )

    CIL es un lenguaje intermedio entre el cdigo fuente y el cdigo mquina en el momento de

    la compilacin.

    Es un lenguaje parecido al bytecode de Java, hacia el cual cualquier compilador de un

    lenguaje integrado en Microsoft .NET (C#, Visual Basic, etc.) deber compilar su cdigo

    fuente, ya que es el nico entendible por el CLR, el cual lo interpreta y ejecuta en la

    mquina.

    Lo que hace posible que todos los lenguajes usados en .NET puedan compilarse a un

    lenguaje unificado (IL) es que cumplen con una especificacin comn (CLS) y con un sistema

    comn de tipos (CTS).

    El cdigo auxiliar generado se compila a continuacin en cdigo nativo y se optimiza para la

    arquitectura de hardware concreta en la que se ejecuta, utilizando los servicios de

    compilacin JIT (Just In Time) de CLR. En resumen, el JIT es otro elemento de .NET

    Framework que se encarga de convertir el cdigo CIL en cdigo de nuestro sistema

    operativo.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    5/161

    5

    Introduccin a .NETLa siguiente figura muestra un diagrama con el proceso de generacin de lenguaje

    intermedio a partir del cdigo fuente:

    2.2. BIBLIOTECA DE CLASES .NET FRAMEWORK

    La biblioteca de clases es un componente de .NET Framework que incluye clases,

    interfaces y tipos de valores que proporcionan acceso a funcionalidades del sistema como:

    Representar tipos de datos base y excepciones.

    Encapsular estructuras de datos.

    Realizar E/S.

    Obtener acceso a informacin sobre tipos cargados.

    Control y comprobacin de seguridad de .NET Framework.

    Proporcionar acceso a datos, interfaz grfica para el usuario (GUI).

    Cdigo IL

    Cdigo fuente

    (C#, VB, C++,...)

    Compilador

    CLS

    CTS

    Mquina

    Interprete acdigo nativo

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    6/161

    6

    Introduccin a .NETLa biblioteca de clases es, por tanto, una coleccin orientada a objetos de tipos reutilizables

    y empleada para desarrollar aplicaciones nuevas, facilitando as el trabajo, pues reutilizamos

    elementos ya creados no teniendo que programarlos desde cero.

    Por otra parte, en la biblioteca de clases de .NET Framework encontramos los tipos. Estos

    son la base para compilar aplicaciones, componentes y controles de .NET. Dichos tipos

    utilizan un esquema sintctico de punto, el cual sirve para representar una jerarqua. Por

    ejemplo, en System.IO,donde System es un espacio de nombres superior en la jerarqua e

    incluye a IO, mediante este esquema se agrupan los tipos relacionados en los denominados

    espacios de nombres o namespaces, que son agrupaciones de elementos relacionados para

    evitar ambigedades y hacer ms fcil la bsqueda y referencia a cada uno de ellos.

    Los espacios de nombres ms usados son:

    ESPACIO DE NOMBRES UTILIDAD DE LOS TIPOS DE DATOS QUE CONTIENE

    System

    Tipos de uso muy frecuente como: los tipos bsicos, tablas,

    excepciones, fechas, nmeros aleatorios, recolector de basura,

    entrada/salida en consola, etc.

    System.CollectionsColecciones de datos de uso comn como: pilas, colas, listas,

    diccionarios, etc.

    System.Data

    Manipulacin de bases de datos. Forman la denominada arquitectura

    ADO.NET.

    System.IO Manipulacin de ficheros y otros flujos de datos.

    System.Net Realizacin de comunicaciones en red.

    System.Reflection Acceso a los metadatos que acompaan a los mdulos de cdigo.

    System.Runtime.Remoting Acceso a objetos remotos.

    System.Security Acceso a la poltica de seguridad en que se basa el CLR.

    System.Threading Manipulacin de hilos.

    System.Web.UI.WebControlsCreacin de interfaces de usuario basadas en ventanas para

    aplicaciones web.

    System.XML Acceso a datos en formato XML.

    System.LinqConsultar archivos XML, bases de datos relacionales, objetos .NET

    y/u otro tipo de estructura de datos.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    7/161

    7

    Introduccin a .NET3. QU ES MICROSOFT VISUAL STUDIO

    Microsoft Visual Studio es un entorno de desarrollo integrado, o IDE (Integrated

    Development Environment), para sistemas operativos Windows, el cual soporta diferentes

    lenguajes de programacin, entre ellos Visual C++, Visual C# y Visual Basic . La definicin

    de IDE hace referencia a un programa o aplicacin que ofrece al programador un entorno

    donde desarrollar las aplicaciones, que comprende habitualmente un editor de cdigo, un

    compilador, un depurador y un constructor de interfaz grfica.

    Ejemplo de entorno de desarrollo. Visual Studio 2010.

    Adems de Microsoft Visual Studio, existen otros IDE muy conocidos, como Visual Web

    Developer y WebMatrix.

    Con Visual Studio el desarrollador puede crear aplicaciones de escritorio, aplicaciones de

    negocio, formularios web, aplicaciones para Azure (cloud computing), para Windows Phone

    7, etc., lo que permite la comunicacin entre diferentes medios y dispositivos.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    8/161

    8

    Introduccin a .NETDesde la primera versin de Visual Studio lanzada en 1998 y denominada Visual Studio

    6.0, han sido desarrolladas cinco versiones ms: Visual Studio .NET (2002), Visual Studio

    .NET (2003), Visual Studio 2005, Visual Studio 2008 y Visual Studio 2010, lanzada

    oficialmente el 12 de abril de 2010.

    Cada versin ha ido introduciendo nuevas utilidades y frameworks de desarrollo,

    incorporndose en la versin actual, el .NET 4.0, herramientas para el desarrollo de

    aplicaciones para Windows 7.

    Adicionalmente Visual Studio incorpora caractersticas interesantes. As, nos ofrece la

    posibilidad de:

    Utilizar mltiples monitores.

    Acoplar y desacoplar las ventanas en diferentes lugares de la interfaz de trabajo.

    Crear aplicaciones para mltiples plataformas de Microsoft (Windows, Azure, Windows

    Phone 7 o SharePoint).

    Desarrollar aplicativos para pantallas multitctiles.

    4. CERTIFICACIONES OFICIALES PARA DESARROLLADORES EN VISUAL STUDIO

    Microsoft dispone de un completo catlogo de certificaciones de cada uno de sus productos,

    organizadas por niveles. En la tecnologa que nos ocupa, encontramos para la versin de

    .NET 4.0 dos niveles de certificaciones profesionales:

    MCTS (Microsoft Certified Technology Specialist). Esta certifica a los profesionales

    como especialistas en diferentes tecnologas de la plataforma. Para obtener cada una de

    estas certificaciones es necesario realizar el correspondiente examen oficial.

    MCITP (Microsoft Certified IT Professional). Se trata de certificaciones de alto

    nivel. Engloba los certificados MCPD (Microsoft Certified Professional Developer), en los

    entornos Windows, Web y Azure. Estas certificaciones requieren como requisito previo

    disponer de varias certificaciones MCTS y superar un examen.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    9/161

    9

    Introduccin a .NET Visual Studio es un entorno de desarrollo integrado para sistemas

    operativos Windows y diseado especialmente para la plataforma .NET.

    Un entorno de desarrollo est compuesto por un editor de cdigo, un

    compilador, un depurador y un constructor de interfaz grfica.

    ASP.NETes un conjunto de tecnologas de Microsoft .NET Framework para la

    creacin de aplicaciones y servicios web.

    Microsoft dispone de diferentes niveles de certificacin, segn la tecnologa

    y nivel de especializacin.

    NET Framework es un componente integral de Windows que permite el

    desarrollo de aplicaciones a travs del uso de un conjunto de herramientas y

    servicios que proporciona.

    El CLR es la base del sistema Microsoft .NET. Este motor hace que sea

    posible el desarrollo basado en mltiples lenguajes (tienen que cumplir una

    especificacin comn, CLS), y la integracin y ejecucin de todos ellos en el

    entorno .NET -esta integracin es posible gracias al sistema comn de tipos,

    CTS-.

    Las bibliotecas de claseson un componente de .NET Framework, las cuales

    forman un espacio de nombres organizados jerrquicamente.

    rec

    uerde

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    10/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    11/161

    11

    Introduccin a .NETA

    API (Application Programming Interface - Interfaz de programacin de

    aplicaciones). Es el conjunto de funciones y procedimientos que ofrece una

    biblioteca especfica para la comunicacin entre componentes software.

    ASP (Active Server Pages). Pginas activas del servidor Internet Information

    Server. ASP es la versin anterior a la tecnologa ASP.NET de Microsoft.

    C

    CLR (Common Language Runtime). Motor de ejecucin comn incluido en el

    paquete Microsoft .NET.

    CSS (Cascading Style Sheets - Hojas de Estilo en Cascada). Se utilizan para dar

    formato a documentos HTML o XML, separando los datos del formato de

    presentacin.

    CTS (Common Type System). Especificacin de tipos bsicos para la integracin

    de distintos lenguajes de programacin en Microsoft .NET (como C#, Visual Basic

    .NET, JScript, .NET).

    C#. Lenguaje creado por Microsoft para su plataforma .NET. Es parecido a C++ y

    Java.

    D

    DHTML (Dinamic HTML - HTML dinmico). Se forma de una conjuncin de HTML,

    hojas de estilo en cascada (CSS) y lenguajes de Script como JavaScript o

    VBScript.

    DLL(Dynamic Link Library - Bibliotecas de Enlace Dinmico). Es un archivo que

    contiene funciones que se pueden llamar desde aplicaciones u otras DLL. Los

    desarrolladores utilizan las DLL para poder reciclar el cdigo y aislar las

    diferentes tareas. Las DLL no pueden ejecutarse directamente, es necesario

    llamarlas desde un cdigo externo. Las DLL de Windows permiten que las

    aplicaciones puedan operar en el entorno de Windows.

    F

    Framework(Marco de trabajo). Es un esquema o estructura que puede incluir

    soporte de programas, bibliotecas y un lenguaje interpretado para la

    organizacin, desarrollo y/o la implementacin de una aplicacin.

    gl

    osario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    12/161

    12

    Introduccin a .NETH

    HTML (HiperText Markup Language). Lenguaje para la creacin de pginas web

    relacionadas entre s por hipertexto.

    HTTP (HiperText Transport Protocol). Protocolo de comunicaciones utilizado por

    los navegadores de Internet para el acceso a recursos web, como ficheros de

    imgenes, vdeo, pginas HTML, pginas ASP, pginas ASPX, etc.

    I

    IIS (Internet Information Server). Es el servidor web de Microsoft. ASP.NET

    funciona sobre l.

    J

    Java. Lenguaje de programacin orientado a objetos desarrollado por Sun

    Microsystems.

    JavaScript. Lenguaje de Script desarrollado por Netscape y utilizado en los

    navegadores de Internet.

    M

    MDAC (Microsoft Data Access Components). Componentes Microsoft de acceso a

    datos.

    MFC (Microsoft Fundation Classes). Librera basada en jerarqua de clases.

    Bsicamente encapsula el API de Windows en una forma orientada a objetos.

    MSIL. Lenguaje intermedio para la ejecucin de aplicaciones en Microsoft .NET.

    P

    PHP (Personal Home Page - Procesador de hipertexto). Las pginas PHP

    presentan una tcnica similar a las pginas ASP de Microsoft, es decir, las

    pginas HTML incluyen el cdigo PHP embebido en ellas y al ejecutarlas, se

    genera cdigo HTML dinmicamente.

    Proceso de negocio. Es un conjunto de tareas relacionadas lgicamente, que

    toman uno o ms tipos de entradas (inputs), llevadas a cabo para lograr un

    resultado de negocio definido (outputs). Tambin puede verse como un conjunto

    de actividades que colectivamente consiguen alcanzar un objetivo de negocio.

    glosario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    13/161

    13

    Introduccin a .NETEs, por ejemplo, el proceso a travs del cual una organizacin ofrece sus

    servicios a sus clientes.

    R

    RAD(Rapid Application Development - Desarrollo rpido de aplicaciones). Es un

    proceso de desarrollo de software desarrollado inicialmente en 1980. Tiende a

    englobar la usabilidad, la utilidad y la rapidez de ejecucin.

    RIA (Rich Internet Applications - aplicaciones de Internet enriquecidas). Son un

    nuevo tipo de aplicaciones con ms ventajas que las tradicionales aplicaciones

    web. Esta surge como una combinacin de las ventajas que ofrecen las

    aplicaciones web y las aplicaciones tradicionales.

    S

    Script.Es un guion o conjunto de instrucciones. Permiten la automatizacin de

    tareas creando pequeas utilidades.

    SDK(Software Development Kit - kit de desarrollo de software). Es un conjunto

    de herramientas de desarrollo que le permite a un programador crear software.

    V

    VBScript (Visual Basic Script). Lenguaje de Script desarrollado por Microsoft.

    X

    XML (eXtensible Markup Language - lenguaje de marcado extensible). Se utiliza

    para la construccin de documentos de datos estructurados multi-propsito.

    glosario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    14/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    15/161

    15

    Introduccin a .NETMSDN library: referencia completa a

    las caractersticas de Visual Studio

    http://msdn.microsoft.com/es-

    es/library/bb386063.aspx

    Web de Microsoft donde se puede

    obtener ms informacin de Visual

    Studio, descargar versiones de prueba

    o comprar.

    http://www.microsoft.com/spain/visu

    alstudio/products

    Ms informacin sobre las

    certificaciones profesionales.

    http://www.microsoft.com/learning/e

    n/us/certification/cert-vstudio.aspx

    Informacin y recursos para crear

    pginas web ASP.NET

    http://msdn.microsoft.com/es-

    es/asp.net

    Referencia completa de todas las

    directivas en ASP.NET.

    http://msdn.microsoft.com/es-

    es/library/xz702w3e.aspx

    Blog sobre ASP.NET http://www.asp.net/es/aprender/

    Pgina con recursos formativos,

    ejemplo, etc. de ASP.NET

    http://www.elguille.info/NET/ASPNET

    /Default.aspx

    The Official Microsoft ASP.NET Site http://www.asp.net/

    Informacin general sobre ASP.NET

    http://msdn.microsoft.com/es-

    es/library/4w3ex9c2.aspx#VisualWe

    bDeveloper

    Herramientas imprescindibles para un

    desarrollador de .NET

    http://www.genbetadev.com/herrami

    entas/herramientas-imprescindibles-

    para-un-desarrollador-de-net

    referencia

    sweb

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    16/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    17/161

    17

    Introduccin a .NETGriffiths, Ian; Adams, Matthew; Liberty, Jesse. Programming C# 4.0. 6thEdition.

    OReilly. 2010.

    MacDonald, Matthew. Beginning ASP.NET 4 in CSharp 2010. Apress. Washington.

    2010.

    Mackey, Alex. Introducing .NET 4.0 with Visual Studio 2010. Apress. 2010.

    Mueller, John Paul. Start Here! Learn Microsoft Visual C# 2010. OReilly Media,

    Inc. 2011.

    Northrup, Tony; Snell, Mike. Exam 70-515: Web Applications Development with

    Microsoft .NET Framework 4.Microsoft Press. 2010.

    Shepherd, George. Microsoft ASP.NET 4 Step by Step. Microsoft Press. 2010.

    Stephen, Rob. Start Here! Fundamentals of Microsoft .NET Programming. OReilly

    Media, Inc. 2011.

    biblio

    grafa

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    18/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    19/161

    1

    Introduccin al desarrollo

    de aplicaciones web

    1. INTRODUCCIN...............................................................................3

    2. ASP.NET...........................................................................................33. JAVA (JSP, SERVLETS).....................................................................4

    4. PHP..................................................................................................4

    5. DHTML.............................................................................................5

    GLOSARIO.............................................................................................7

    REFERENCIAS WEB..............................................................................11

    BIBLIOGRAFA....................................................................................13

    ndice

    formacindigital

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    20/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    21/161

    3

    Introduccin al desarrollo

    de aplicaciones web1. INTRODUCCIN

    Al principio, el desarrollo de pginas web se limitaba al uso del lenguaje de marcado HTML

    (lenguaje de marcado de hipertexto), un lenguaje sencillo, sin capas ni estilos, con el que se

    obtenan pginas estticas cuya labor nicamente era suministrar informacin personal del

    autor o de la empresa (de forma textual o a travs de imgenes), sin proporcionar ninguna

    interaccin con el usuario.

    Internet est basado en una serie de estndares, protocolos y lenguajes que sirven para que

    los diferentes servidores y clientes se comuniquen entre s. Los protocolos bsicos de

    Internet son principalmente el protocolo TCP/IP y HTTP.

    En los prximos apartados, presentaremos una serie de tecnologas de desarrollo web

    utilizadas en la actualidad.

    2. ASP.NET

    ASP.NET sucedi aASP (Active Server Page), que es la tecnologa que desarroll Microsoft

    para la creacin de pginas dinmicas del lado del servidor. Las pginas ASP tienen

    insertados lenguajes Scripts, como VBScript o JavaScript, junto al cdigo HTML.

    ASP.NET se construy sobre el Common Language Runtime(CLR), esto hace que podamos

    escribir cdigo ASP.NET usando cualquier lenguaje admitido por el .NET Framework (C#,

    Visual Basic .NET, Delphi, C++, F#, J#, Perl, Python...). Estos lenguajes nos permiten

    desarrollar aplicaciones ASP.NET que se benefician de la seguridad de tipos, herencia, etc.

    Nosotros emplearemos C# durante este curso.

    Con Visual Studio, podemos crear diferentes tipos de proyectos ASP.NET, que incluyen sitios

    web, aplicaciones web, servicios web y controles de servidor AJAX.

    Hay una diferencia entre los proyectos de sitios web y los proyectos de aplicaciones web, ya

    que, algunas caractersticas solo funcionan con proyectos de aplicaciones web, como MVC y

    ciertas herramientas para automatizar la implementacin web. No obstante, otras

    caractersticas, como los datos dinmicos, funcionan tanto con los proyectos de sitios web

    como con los proyectos de aplicaciones web.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    22/161

    4

    Introduccin al desarrollo

    de aplicaciones webPor ltimo, ASP.NET solo funciona sobre el servidor de Microsoft IIS. Esto no ocurre con

    otros lenguajes del lado de servidor, como PHP, Perl o Python, ejecutables sobre ms de un

    servidor como Apache, Hiawatha o Nginx.

    3. JAVA (JSP, SERVLETS)

    Java es un lenguaje de programacin y la primera plataforma informtica creada por Sun

    Microsystems en 1995. Es la tecnologa subyacente que permite el uso de programas como

    herramientas, juegos y aplicaciones de negocios. Java se ejecuta en ms de 850 millones de

    ordenadores personales de todo el mundo y en miles de millones de dispositivos, como

    dispositivos mviles y aparatos de televisin.

    La tecnologa Java tambin es usada para la creacin de pginas web con programacin en el

    lado del servidor: JSP y Servelts.

    Con JSP podemos crear aplicaciones web que se ejecuten en variados servidores web de

    mltiples plataformas, ya que Java es en esencia un lenguaje multiplataforma. Las pginas

    JSP estn compuestas de cdigo HTML/XML mezclado con etiquetas especiales para

    programar Scripts de servidor en sintaxis Java. Por tanto, las JSP podremos escribirlas con

    nuestro editor HTML/XML habitual.

    Por otra parte, se podra definir un servletcomo un programa escrito en Java que se ejecuta

    en el marco de un servicio de red (un servidor web, por ejemplo), y que recibe y responde a

    las peticiones de uno o ms clientes.

    Los servlets y pginas JSP, al estar directamente basado en Java, presenta todas las

    ventajas de este lenguaje, como la orientacin a objetos o la disponibilidad de todas las

    libreras adicionales de Java (generacin de imgenes, comunicaciones, seguridad,

    encriptacin, etc.).

    4. PHP

    PHP corresponde a las iniciales de Hypertext Pre-processor. Este lenguaje de programacin

    tiene una sintaxis similar a los lenguajes C y Perl, y se interpreta por un servidor web como,

    por ejemplo, Apache.

    PHP presenta una tcnica similar a las pginas ASP.NET, es decir, las pginas HTML incluyen

    cdigo PHP embebido en ellas y, al ejecutarlas, se genera cdigo HTML dinmicamente.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    23/161

    5

    Introduccin al desarrollo

    de aplicaciones webAunque PHP no es un lenguaje orientado a objetos, est preparado para aprovechar una

    serie de aspectos de las clases que son recomendables en el desarrollo de aplicaciones.

    PHP dispone de un gran nmero de libreras de funciones para realizar operaciones

    avanzadas como acceso a bases de datos, correo electrnico, transferencia de ficheros,

    comunicaciones, etc.

    Por ltimo, las pginas PHP tambin se han extendido mucho en los ltimos aos (son las

    pginas web que encontramos con extensin .php o .phtml).

    5. DHTML

    Sus siglas significan Dynamic HTML(HTML dinmico). Se forma a partir de la conjuncin de

    HTML, hojas de estilo en cascada (CSS), lenguajes de script como JavaScript o VBScript, y la

    jerarqua de objetos DOM (Document Object Model), que es el conjunto de objetos

    predefinidos que definen a todos los objetos de una pgina y del navegador con el que se

    est accediendo a dicha pgina, de tal forma que se puede acceder a sus propiedades y

    funciones.

    Los lenguajes de Script se ejecutan en la mquina cliente (en el navegador del usuario que

    solicita una pgina). Es por ello por lo que son diferentes a otras tecnologas, en las cuales el

    cdigo ha de ejecutarse en el servidor quien construye y enva al cliente la pgina web.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    24/161

    6

    Introduccin al desarrollo

    de aplicaciones web En los ltimos aos Internet ha evolucionado considerablemente y las

    aplicaciones web son cada vez ms complejas en trminos de contenido,

    estructura, comportamiento e interfaz. Adems, la exigencia de una

    creciente competitividad del mercado requiere de una puesta en marcha muy

    rpida de estas aplicaciones. A pesar de ello, todava en muchas ocasiones

    las aplicaciones web se elaboran de una forma artesanal, reduciendo las

    posibilidades de xito en su desarrollo y posterior mantenimiento.

    Actualmente se utilizan tecnologascomo:

    DHTML (Dynamic HTML - HTML dinmico). Se forma a partir de la

    conjuncin de HTML, hojas de estilo en cascada (CSS), lenguajes de

    Script como JavaScript o VBScript, y la jerarqua de objetos DOM.

    JSPy Servlets.La tecnologa Java tambin es usada para la creacin de

    pginas web con programacin en el lado del servidor.

    PHP. Presenta una tcnica donde las pginas HTML incluyen cdigo PHP

    embebido en ellas y, al ejecutarlas, se genera cdigo HTML

    dinmicamente.

    ASP.NET (tecnologas que se ejecutan en el servidor). Presenta una

    tcnica muy parecida a PHP, inserta cdigo dentro del HTML para

    generar ms cdigo HTML. Podemos usar cualquier lenguaje admitido

    por el .NET Framework (C#, Visual Basic .NET, Delphi, C++, F#, J#,

    Perl, Python...) para desarrollar aplicaciones ASP.NET. Nosotros

    emplearemos C# durante este curso.

    rec

    uerde

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    25/161

    7

    Introduccin al desarrollo

    de aplicaciones webA

    API (Application Programming Interface - Interfaz de programacin de

    aplicaciones). Es el conjunto de funciones y procedimientos que ofrece una

    biblioteca especfica para la comunicacin entre componentes software.

    ASP (Active Server Pages). Pginas activas del servidor Internet Information

    Server. ASP es la versin anterior a la tecnologa ASP.NET de Microsoft.

    C

    CLR (Common Language Runtime). Motor de ejecucin comn incluido en el

    paquete Microsoft .NET.

    CSS (Cascading Style Sheets - Hojas de Estilo en Cascada). Se utilizan para dar

    formato a documentos HTML o XML, separando los datos del formato de

    presentacin.

    CTS (Common Type System). Especificacin de tipos bsicos para la integracin

    de distintos lenguajes de programacin en Microsoft .NET (como C#, Visual Basic

    .NET, JScript, .NET).

    C#. Lenguaje creado por Microsoft para su plataforma .NET. Es parecido a C++ y

    Java.

    D

    DHTML (Dinamic HTML - HTML dinmico). Se forma de una conjuncin de HTML,

    hojas de estilo en cascada (CSS) y lenguajes de Script como JavaScript o

    VBScript.

    DLL(Dynamic Link Library - Bibliotecas de Enlace Dinmico). Es un archivo que

    contiene funciones que se pueden llamar desde aplicaciones u otras DLL. Los

    desarrolladores utilizan las DLL para poder reciclar el cdigo y aislar las

    diferentes tareas. Las DLL no pueden ejecutarse directamente, es necesario

    llamarlas desde un cdigo externo. Las DLL de Windows permiten que las

    aplicaciones puedan operar en el entorno de Windows.

    F

    Framework(Marco de trabajo). Es un esquema o estructura que puede incluir

    soporte de programas, bibliotecas y un lenguaje interpretado para la

    organizacin, desarrollo y/o la implementacin de una aplicacin.

    glosario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    26/161

    8

    Introduccin al desarrollo

    de aplicaciones webH

    HTML (HiperText Markup Language). Lenguaje para la creacin de pginas web

    relacionadas entre s por hipertexto.

    HTTP (HiperText Transport Protocol). Protocolo de comunicaciones utilizado por

    los navegadores de Internet para el acceso a recursos web, como ficheros de

    imgenes, vdeo, pginas HTML, pginas ASP, pginas ASPX, etc.

    I

    IIS (Internet Information Server). Es el servidor web de Microsoft. ASP.NET

    funciona sobre l.

    J

    Java. Lenguaje de programacin orientado a objetos desarrollado por Sun

    Microsystems.

    JavaScript. Lenguaje de Script desarrollado por Netscape y utilizado en los

    navegadores de Internet.

    M

    MDAC (Microsoft Data Access Components). Componentes Microsoft de acceso a

    datos.

    MFC (Microsoft Fundation Classes). Librera basada en jerarqua de clases.

    Bsicamente encapsula el API de Windows en una forma orientada a objetos.

    MSIL. Lenguaje intermedio para la ejecucin de aplicaciones en Microsoft .NET.

    P

    PHP (Personal Home Page - Procesador de hipertexto). Las pginas PHP

    presentan una tcnica similar a las pginas ASP de Microsoft, es decir, las

    pginas HTML incluyen el cdigo PHP embebido en ellas y al ejecutarlas, se

    genera cdigo HTML dinmicamente.

    Proceso de negocio. Es un conjunto de tareas relacionadas lgicamente, que

    toman uno o ms tipos de entradas (inputs), llevadas a cabo para lograr un

    resultado de negocio definido (outputs). Tambin puede verse como un conjunto

    de actividades que colectivamente consiguen alcanzar un objetivo de negocio.

    gl

    osario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    27/161

    9

    Introduccin al desarrollo

    de aplicaciones webEs, por ejemplo, el proceso a travs del cual una organizacin ofrece sus

    servicios a sus clientes.

    R

    RAD(Rapid Application Development - Desarrollo rpido de aplicaciones). Es un

    proceso de desarrollo de software desarrollado inicialmente en 1980. Tiende a

    englobar la usabilidad, la utilidad y la rapidez de ejecucin.

    RIA (Rich Internet Applications - aplicaciones de Internet enriquecidas). Son un

    nuevo tipo de aplicaciones con ms ventajas que las tradicionales aplicaciones

    web. Esta surge como una combinacin de las ventajas que ofrecen las

    aplicaciones web y las aplicaciones tradicionales.

    S

    Script.Es un guion o conjunto de instrucciones. Permiten la automatizacin de

    tareas creando pequeas utilidades.

    SDK(Software Development Kit - kit de desarrollo de software). Es un conjunto

    de herramientas de desarrollo que le permite a un programador crear software.

    V

    VBScript (Visual Basic Script). Lenguaje de Script desarrollado por Microsoft.

    X

    XML (eXtensible Markup Language - lenguaje de marcado extensible). Se utiliza

    para la construccin de documentos de datos estructurados multi-propsito.

    gl

    osario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    28/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    29/161

    11

    Introduccin al desarrollo

    de aplicaciones webDetallada referencia a ASP.NET 4 en

    las pginas web de MSDN

    http://msdn.microsoft.com/es-

    es/library/4w3ex9c2.aspx

    Informacin y recursos para crear

    pginas web ASP.NET

    http://msdn.microsoft.com/es-

    es/asp.net

    Referencia completa de todas las

    directivas en ASP.NET.

    http://msdn.microsoft.com/es-

    es/library/xz702w3e.aspx

    Blog sobre ASP.NET http://www.asp.net/es/aprender/

    Pgina con recursos formativos,

    ejemplo, etc. de ASP.NET

    http://www.elguille.info/NET/ASPNET

    /Default.aspx

    The Official Microsoft ASP.NET Site http://www.asp.net/

    Informacin general sobre ASP.NET

    http://msdn.microsoft.com/es-

    es/library/4w3ex9c2.aspx#VisualWe

    bDeveloper

    Herramientas imprescindibles para un

    desarrollador de .NET

    http://www.genbetadev.com/herrami

    entas/herramientas-imprescindibles-

    para-un-desarrollador-de-net

    referencia

    sweb

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    30/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    31/161

    13

    Introduccin al desarrollo

    de aplicaciones webGriffiths, Ian; Adams, Matthew; Liberty, Jesse. Programming C# 4.0. 6thEdition.

    OReilly. 2010.

    MacDonald, Matthew. Beginning ASP.NET 4 in CSharp 2010. Apress. Washington.

    2010.

    Mackey, Alex. Introducing .NET 4.0 with Visual Studio 2010. Apress. 2010.

    Mueller, John Paul. Start Here! Learn Microsoft Visual C# 2010. OReilly Media,

    Inc. 2011.

    Northrup, Tony; Snell, Mike. Exam 70-515: Web Applications Development with

    Microsoft .NET Framework 4.Microsoft Press. 2010.

    Shepherd, George. Microsoft ASP.NET 4 Step by Step. Microsoft Press. 2010.

    Stephen, Rob. Start Here! Fundamentals of Microsoft .NET Programming. OReilly

    Media, Inc. 2011.

    biblio

    grafa

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    32/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    33/161

    1

    Conceptos de la programacin

    orientada a objetos

    1. INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS

    (POO)..............................................................................................32. OBJETOS Y CLASES...........................................................................3

    3. CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A

    OBJETOS (POO)................................................................................4

    3.1. ENCAPSULACIN.....................................................................4

    3.2. ABSTRACCIN.........................................................................5

    3.3. HERENCIA................................................................................6

    3.4. POLIMORFISMO.......................................................................7

    4. MENSAJES Y MTODOS. SOBRECARGA..............................................7

    4.1. MENSAJES................................................................................74.2. MTODOS.................................................................................8

    4.3. SOBRECARGA...........................................................................8

    5. MODELO DE OBJETOS Y RELACIONES ENTRE CLASES........................9

    6. VENTAJAS Y DESVENTAJAS DE LA POO...........................................10

    GLOSARIO...........................................................................................13

    REFERENCIAS WEB..............................................................................17

    BIBLIOGRAFA....................................................................................19

    ndice

    formacindigital

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    34/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    35/161

    3

    Conceptos de la programacin

    orientada a objetos1. INTRODUCCIN A LA PROGRAMACIN ORIENTADA A OBJETOS (POO)

    La orientacin a objetoses un paradigma utilizado en el desarrollo software que cambia la

    forma de programar, ya que no tiene parecido a la programacin estructurada.

    Dicho paradigma augura mejoras en la forma de diseo, desarrollo y mantenimiento del

    software ofreciendo una solucin a largo plazo a los problemas que han existido desde los

    inicios del desarrollo de software: falta de portabilidad del cdigo, reusabilidad, cdigo que

    es difcil de modificar, ciclos de desarrollo largos y tcnicas de codificacin no intuitivas.

    En este tema vamos a tratar aspectos genricos de la Programacin Orientada a Objetos

    (POO), necesarios para poder utilizar correctamente el lenguaje en el que vamos a

    programar nuestras pginas ASP.NET, el lenguaje C#.

    2. OBJETOS Y CLASES

    El objeto es el concepto principal sobre el cual se fundamenta la tecnologa orientada a

    objetos. Un objeto puede ser visto como:

    Una entidad que posee un conjunto de propiedades o atributos y que es capaz de

    realizar una serie de acciones.

    Una representacin o modelizacin de un objeto del mundo real.

    Ejemplo

    Podemos tener un objeto bicicleta que represente a una bicicleta dentro de nuestra realidad, o

    bien un objeto factura, automvil o persona.

    Los objetos son instancias particulares de las entidades abstractas llamadas clases, en

    donde se definen las caractersticas comunes a dichos objetos. Se puede decir que una clase

    es como una plantilla, molde o prototipo en el que se definen los atributos (variables) y las

    acciones (mtodos) comunes para todos los objetos que se crean a partir de ella. Mediante

    las clases podremos crear (instanciar) objetos de un mismo tipo, que se diferenciarn unos

    de otros mediante su estado, es decir, el valor de sus atributos.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    36/161

    4

    Conceptos de la programacin

    orientada a objetosEjemplo

    Del objeto automvil podemos mencionar como atributos: el modelo, la marca, el color, el nmero de

    matrcula, nmero de bastidor, entre otros. Algunas acciones que es capaz de realizar un automvil

    son: frenar, acelerar y cambiar la velocidad. Este objeto automvil es una instancia particular de la

    clase automvil.

    Los parmetros o variables que definen el estado de un objeto se denominan atributos o

    variables miembro, y las acciones que pueden realizar los objetos se denominan

    mtodoso funciones miembro.

    Si lo comparamos con la programacin estructurada, podramos hacer la siguiente

    aproximacin: los atributos, propiedades o variables miembro de la POO seran las variables;

    los mtodos o funciones miembro seran los procedimientos y funciones. La diferencia est

    en que las propiedades y los mtodos se heredan de unas clases a otras. De esta manera,

    las propiedades de un objetopueden ser diferentes:

    Propiedades propias. Estn declaradas en la clase a la que pertenece el objeto.

    Propiedades heredadas. Estn definidas en una clase distinta a la del objeto,

    antepasado de este ( padre , abuelo, etc.).

    3. CARACTERSTICAS DE LA PROGRAMACIN ORIENTADA A OBJETOS (POO)

    En este apartado estudiamos las caractersticas asociadas a la programacin orientada a

    objetos, las cuales son:

    Encapsulacin: ocultar la implementacin interna.

    Abstraccin: ignorar la implementacin interna.

    Herencia: mecanismo de reutilizacin entre clases.

    Polimorfismo: igual mensaje a objetos diferentes produce respuestas diferentes.

    3.1. ENCAPSULACIN

    La encapsulacines la tcnica de ocultar la implementacin interna de un objeto, es decir,

    cmo est construido y de qu se compone. Con la encapsulacin se consigue, por tanto,

    que los atributos de un objeto estn ocultos al resto de los objetos, de tal forma que no se

    pueda acceder directamente para modificar su estado o consultarlo.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    37/161

    5

    Conceptos de la programacin

    orientada a objetosPara acceder a los atributos de un objeto debemos utilizar los mtodos denominados get y

    set.

    La tcnica habitual es que un objeto ofrezca una parte pblica utilizada por otros objetos

    para interactuar entre s, pero tambin contenga una parte oculta para encapsular los

    detalles de implementacin del objeto.

    Como los atributos y la implementacin de cada objeto queda oculta a los dems objetos que

    interaccionan en el programa, se favorece la proteccin de los datos y la localizacin de

    errores en los programas (ya que cada objeto est altamente especializado y solo se encarga

    de su tarea). Esto consigue adems una mayor modularidad y facilita el diseo en equipo de

    programas y la reutilizacin de clases (componentes), ya que podemos escribir cdigo de

    manera independiente de cmo se encuentren construidos los diferentes objetos que vamos

    a utilizar. As, ocultando los detalles de implementacin, podremos realizar cambios en el

    cdigo interno de los objetos sin que ello afecte a otros objetos que los utilicen o dependan

    de ellos.

    3.2. ABSTRACCIN

    La abstraccines la capacidad de ignorar los aspectos de implementacin de los objetos en

    los pasos iniciales, con lo que solo necesitamos conocer qu es lo que hace un objeto y no

    cmo lo hace. Esta propiedad es utilizada para definir un objeto y establecer las relaciones

    de este con otros objetos.

    De forma grfica, podemos representar un objeto como dos circunferencias: una interna que

    contiene todos los detalles de implementacin (variables y mtodos privados) y que

    permanece oculta al resto de objetos, y otra circunferencia concntrica externa que

    representa lo que el objeto muestra al mundo exterior, la interfaz pblica que permite

    interactuar con l.

    Fuente: elaboracin propia

    Como conclusin, podemos decir que no es necesario entender la implementacin interna de

    un objeto para poder utilizarlo.

    Mtodos pblicos

    (interfaz del objeto)Atributos y mtodos privados

    (encapsulados)

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    38/161

    6

    Conceptos de la programacin

    orientada a objetos3.3. HERENCIA

    La herenciaes el mecanismo mediante el cual podemos reutilizar clases ya definidas. As,

    una vez definida una clase, podemos usarla como base para generar clases ms complicadas

    o especializadas, es decir, los mtodos y atributos de una clase pueden transmitirse a las

    clases que descienden de ella.

    Como la clase hija puede aadir atributos, mtodos y redefinir o sobrescribir los mtodos de

    la clase padre, podemos ver la herencia como una sucesiva especializacin de las clases. La

    clase de la que se hereda se denomina clase padreo superclase, y la clase que hereda se

    denomina clase hijao subclase. Una sencilla regla para verificar que la herencia entre dos

    clases es correcta es hacernos la pregunta: es un tipo de...?.

    Ejemplo

    Siguiendo el ejemplo de los vehculos, los todoterrenos son una clase hija de la superclase vehculo a

    motor e incorporan especializaciones, como puede ser la traccin a las cuatro ruedas.

    Por otra parte, las subclases tambin pueden sobrescribir los mtodos de la superclase para

    proporcionar un comportamiento especial.

    Ejemplo

    La clase automvil puede contener un mtodo ObtenerNmeroDeMarchas() que siempre devuelva 5,

    mientras que la clase frmula 1, que puede tener hasta 7 marchas, sobrescribira este mtodo para

    devolver 7 en lugar de 5.

    Respecto a la herencia, no hay lmite de nivel, lo cual da lugar a una jerarqua de clases.

    Adems, La herenciapuede ser simple, si la clase hija hereda de una nica clase padre, o

    mltiple, si lo hace de varias clases.

    Nota

    El lenguaje que usaremos en la programacin de las pginas ASP.NET de este curso es C#, que solo

    soporta herencia simple.

    Por ltimo, tambin podemos definir clases abstractas, que son clases que definen

    comportamientos genricos y en las que algunos o todos sus mtodos no han sido

    implementados (mtodos abstractos), tan solo declarados. El comportamiento de estos

    mtodos es totalmente libre para las subclases que hereden de esta, las cuales debern

    implementarlos para poder ser instanciadas en objetos.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    39/161

    7

    Conceptos de la programacin

    orientada a objetos3.4. POLIMORFISMO

    El polimorfismoes otra ms de las caractersticas propias de la POO. Expresa la posibilidad

    de que el mismo mensaje, enviado a objetos diferentes, ejecute mtodos distintos. Por lo

    tanto, es posible definir operaciones o mtodos con el mismo nombre dentro de clases

    distintas, donde cada operacin tendr una implementacin propia para cada clase. Esto nos

    permite crear una interfaz comn para una serie de clases que tengan algo en comn.

    Ejemplo

    Supongamos que tenemos en nuestra aplicacin, una clase Enteros para modelar un nmero entero, y

    una clase Matrices, para modelar una matriz matemtica. Ambas clases deben tener un mtodo para

    sumar dos objetos, ya sean enteros o matrices. Podemos definir un mtodo suma() para la clase

    Enteros y otro mtodo suma()para la clase Matrices, de esta forma ambas clases comparten el mismo

    nombre para la operacin pero su implementacin es distinta en cada clase.

    4. MENSAJES Y MTODOS. SOBRECARGA

    Ya conocemos los fundamentos de la programacin orientada a objetos, los conceptos de

    clases, objetos y sus caractersticas fundamentales. A continuacin, estudiaremos en este

    apartado la forma de relacionarse los objetos mediante mensajes y mtodos, as como la

    tcnica de sobrecarga de mtodos.

    4.1. MENSAJES

    Los mensajesson el mecanismo mediante el cual dos objetos pueden interactuar, es decir,

    comunicarse entre s. Un objeto tiene sentido si aparece como un componente de un

    programa mayor o de una aplicacin que contiene muchos otros objetos, los cuales

    interactan entre s y es, a travs de esta interaccin, como se consigue una funcionalidad

    mayor.

    Los objetos interactan y se comunican mediante el envo de mensajes. As, cuando un

    objeto A quiere que otro objeto B realice una accin, el objeto A enva un mensaje al

    objeto B. El mtodo de B que recibe el mensaje de A es denominado mtodo de la

    interfaz de B.

    En resumen, un mensaje enviado a un objeto representa la invocacin de un determinado

    mtodo sobre dicho objeto, es decir, la ejecucin de una operacin sobre el objeto, que

    puede ser conocer o, incluso, modificar el estado del objeto destino.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    40/161

    8

    Conceptos de la programacin

    orientada a objetosPor tanto, para enviar un mensaje necesitamos:

    El objeto al que vamos a enviar el mensaje.

    El nombre del mtodo (accin o comportamiento que queremos que realice).

    Los parmetros necesarios para el mtodo en cuestin.

    4.2. MTODOS

    Las acciones de los mensajes a los que un objeto puede responder representan su

    comportamiento, es decir, son los mtodosque dicho objeto puede realizar. Por tanto, para

    que dos objetos puedan interactuar,, es necesario un mensaje que debe especificar:

    El objeto al que vamos a enviar el mensaje.

    El nombre del mtodo (accin o comportamiento que queremos que realice).

    Los parmetros necesarios para el mtodo en cuestin.

    Los objetos disponen de dos tipos de mtodos, mtodos de uso interno (ocultos o privados)

    y mtodos pblicos, que constituyen la interfaz del objeto con el resto de objetos con

    quienes puede interaccionar. Por otra parte, los mtodos consultan o modifican el estado de

    un objeto. Son funciones dentro de un objeto y, como hemos visto, pueden retornar un valor

    (informacin sobre el estado del objeto), o realizar una accin sobre el estado del mismo.

    4.3. SOBRECARGA

    Se trata de otra de las tcnicas usadas en la POO que hace referencia a la posibilidad de

    tener en una misma clase mtodos con el mismo nombre, pero que difieren en el tipo y/o

    nmero de los parmetros que reciben.

    Ejemplo

    Podemos tener en la clase Matriz dos mtodos:

    Mtodo sumar(e, m),que recibira un entero para sumar a la matriz.

    Mtodo sumar(m, m), que podra recibir otro objeto matriz.

    El primer mtodo implementa la suma matemtica entre un entero y una matriz, y el segundo, la

    suma de matrices.

    Este ejemplo es una sobrecarga del mtodo sumar, pues aunque tiene igual nmero de parmetros,

    difieren en el tipo y, por tanto, su implementacin ser diferente.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    41/161

    9

    Conceptos de la programacin

    orientada a objetos5. MODELO DE OBJETOS Y RELACIONES ENTRE CLASES

    Una vez definido e identificado el problema que deseamos solucionar en nuestra aplicacin,

    debemos realizar una representacin lgica de los objetos que forman parte del problema en

    el mundo real para utilizarlos en nuestro programa y deben definirse las relaciones

    existentes entre dichos objetos. De esta forma, se disea un modelo para que nuestra

    aplicacin funcione adecuadamente, donde debemos aplicar los principios de la POO que

    hemos aprendido en los apartados anteriores: abstraccin, encapsulacin, herencia y

    polimorfismo.

    Cada clase en una aplicacin estar especializada en una funcin o tarea especfica. No

    obstante, para ofrecer una mayor funcionalidad y realizar tareas ms complejas, es

    necesario que exista una relacinentre distintas clases, es decir, una forma de interaccin o

    comunicacin entre ellas. As, una clase puede relacionarse con otra a travs de:

    Una relacin de composicin: una clase est compuesta de otras clases. Esto ocurre

    cuando los atributos de una clase se implementan como objetos de otra clase.

    Ejemplo

    La clase automvil tiene atributos que pueden ser a la vez clases: puerta, motor, rueda, chasis,etc.

    Una relacin de uso: una clase se relaciona con otra a travs de los mensajes que le

    enva, pasndole como parmetro del mtodo invocado por el mensaje, una instancia de

    una clase.

    Ejemplo

    Al invocar al mtodo suma de una matriz, le pasamos un objeto entero para que lo sume a un

    objeto matriz.

    Una relacin de herencia: como ya adelantamos, consiste en que una clase hereda de

    una clase padre o superclase, obteniendo as toda la funcionalidad ofrecida por la clase

    padre y pudiendo aadir nuevas funcionalidades. Con esta forma de relacin,

    conseguimos una mayor reutilizacin del cdigo y una mayor especializacin a travs de

    la jerarqua de clases. Las clases iniciales en esta jerarqua son ms generales y, a

    medida que profundizamos en la jerarqua de la descendencia, las clases hijas estn

    ms especializadas e implementan tareas ms concretas.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    42/161

    10

    Conceptos de la programacin

    orientada a objetos6. VENTAJAS Y DESVENTAJAS DE LA POO

    Entre las ventajasque encontramos al utilizar POO tenemos que:

    Facilita la reutilizacin del software a travs de la herencia. Adems, la

    encapsulacin nos facilita el uso de objetos que no hemos implementado todava, pero

    de los que conocemos qu hacen, no es necesario saber cmo lo hacen.

    Facilita el mantenimiento de los programas y la deteccin de errores. La

    encapsulacin nos garantiza que las modificaciones realizadas en el ncleo de un objeto

    tendrn un efecto limitado y localizado, as su interfaz de comunicacin con el resto de

    objetos se mantendr, por lo que podremos seguir comunicndonos con l de igual

    forma.

    Las tareas de anlisis, diseo e implementacin son ms intuitivas, ya que los

    objetos en nuestros diseos van a representar objetos presentes en el mundo real.

    Por otra parte, entre las desventajasque encontramos al utilizar POO tenemos que:

    La curva de aprendizaje suele ser ms larga que la necesaria en la programacin

    estructurada, debido principalmente a que implica un cambio de mentalidad adems de

    aprender un nuevo lenguaje orientado a objetos.

    Dificultad a la hora de determinar las caractersticas de un objetoya que debemos

    tener en cuenta las relaciones con otros objetos. A veces, el establecimiento de nuevas

    relaciones puede implicar un cambio en la definicin del objeto.

    Jerarquas de herencia complejas, que pueden llegar a ser confusas en el caso de la

    herencia mltiple (una clase puede heredar de ms de una clase).

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    43/161

    11

    Conceptos de la programacin

    orientada a objetos Los lenguajes de programacin orientados a objetos permiten el

    encapsulamiento, la abstraccin, la herencia y el polimorfismo.

    El encapsulamientosepara la interfaz de la implementacin ocultando los

    datos dentro del objeto y permitiendo el acceso a los datos de dicho objeto a

    travs de funciones miembro (mtodos).

    Las subclasesheredan las funciones miembro y las variables de sus clases

    padre, haciendo sencilla la reutilizacin de las funcionalidades de las clases

    padre.

    El polimorfismo permite crear cdigo genrico y reutilizable que podr

    funcionar con una amplia gama de clases diferentes.

    rec

    uerde

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    44/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    45/161

    13

    Conceptos de la programacin

    orientada a objetosA

    API (Application Programming Interface - Interfaz de programacin de

    aplicaciones). Es el conjunto de funciones y procedimientos que ofrece una

    biblioteca especfica para la comunicacin entre componentes software.

    ASP (Active Server Pages). Pginas activas del servidor Internet Information

    Server. ASP es la versin anterior a la tecnologa ASP.NET de Microsoft.

    C

    CLR (Common Language Runtime). Motor de ejecucin comn incluido en el

    paquete Microsoft .NET.

    CSS (Cascading Style Sheets - Hojas de Estilo en Cascada). Se utilizan para dar

    formato a documentos HTML o XML, separando los datos del formato de

    presentacin.

    CTS (Common Type System). Especificacin de tipos bsicos para la integracin

    de distintos lenguajes de programacin en Microsoft .NET (como C#, Visual Basic

    .NET, JScript, .NET).

    C#. Lenguaje creado por Microsoft para su plataforma .NET. Es parecido a C++ y

    Java.

    D

    DHTML (Dinamic HTML - HTML dinmico). Se forma de una conjuncin de HTML,

    hojas de estilo en cascada (CSS) y lenguajes de Script como JavaScript o

    VBScript.

    DLL(Dynamic Link Library - Bibliotecas de Enlace Dinmico). Es un archivo que

    contiene funciones que se pueden llamar desde aplicaciones u otras DLL. Los

    desarrolladores utilizan las DLL para poder reciclar el cdigo y aislar las

    diferentes tareas. Las DLL no pueden ejecutarse directamente, es necesario

    llamarlas desde un cdigo externo. Las DLL de Windows permiten que las

    aplicaciones puedan operar en el entorno de Windows.

    F

    Framework(Marco de trabajo). Es un esquema o estructura que puede incluir

    soporte de programas, bibliotecas y un lenguaje interpretado para la

    organizacin, desarrollo y/o la implementacin de una aplicacin.

    glosario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    46/161

    14

    Conceptos de la programacin

    orientada a objetosH

    HTML (HiperText Markup Language). Lenguaje para la creacin de pginas web

    relacionadas entre s por hipertexto.

    HTTP (HiperText Transport Protocol). Protocolo de comunicaciones utilizado por

    los navegadores de Internet para el acceso a recursos web, como ficheros de

    imgenes, vdeo, pginas HTML, pginas ASP, pginas ASPX, etc.

    I

    IIS (Internet Information Server). Es el servidor web de Microsoft. ASP.NET

    funciona sobre l.

    J

    Java. Lenguaje de programacin orientado a objetos desarrollado por Sun

    Microsystems.

    JavaScript. Lenguaje de Script desarrollado por Netscape y utilizado en los

    navegadores de Internet.

    M

    MDAC (Microsoft Data Access Components). Componentes Microsoft de acceso a

    datos.

    MFC (Microsoft Fundation Classes). Librera basada en jerarqua de clases.

    Bsicamente encapsula el API de Windows en una forma orientada a objetos.

    MSIL. Lenguaje intermedio para la ejecucin de aplicaciones en Microsoft .NET.

    P

    PHP (Personal Home Page - Procesador de hipertexto). Las pginas PHP

    presentan una tcnica similar a las pginas ASP de Microsoft, es decir, las

    pginas HTML incluyen el cdigo PHP embebido en ellas y al ejecutarlas, se

    genera cdigo HTML dinmicamente.

    Proceso de negocio. Es un conjunto de tareas relacionadas lgicamente, que

    toman uno o ms tipos de entradas (inputs), llevadas a cabo para lograr un

    resultado de negocio definido (outputs). Tambin puede verse como un conjunto

    de actividades que colectivamente consiguen alcanzar un objetivo de negocio.

    gl

    osario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    47/161

    15

    Conceptos de la programacin

    orientada a objetosEs, por ejemplo, el proceso a travs del cual una organizacin ofrece sus

    servicios a sus clientes.

    R

    RAD(Rapid Application Development - Desarrollo rpido de aplicaciones). Es un

    proceso de desarrollo de software desarrollado inicialmente en 1980. Tiende a

    englobar la usabilidad, la utilidad y la rapidez de ejecucin.

    RIA (Rich Internet Applications - aplicaciones de Internet enriquecidas). Son un

    nuevo tipo de aplicaciones con ms ventajas que las tradicionales aplicaciones

    web. Esta surge como una combinacin de las ventajas que ofrecen las

    aplicaciones web y las aplicaciones tradicionales.

    S

    Script.Es un guion o conjunto de instrucciones. Permiten la automatizacin de

    tareas creando pequeas utilidades.

    SDK(Software Development Kit - kit de desarrollo de software). Es un conjunto

    de herramientas de desarrollo que le permite a un programador crear software.

    V

    VBScript (Visual Basic Script). Lenguaje de Script desarrollado por Microsoft.

    X

    XML (eXtensible Markup Language - lenguaje de marcado extensible). Se utiliza

    para la construccin de documentos de datos estructurados multi-propsito.

    glosario

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    48/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    49/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    50/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    51/161

    19

    Conceptos de la programacin

    orientada a objetosGriffiths, Ian; Adams, Matthew; Liberty, Jesse. Programming C# 4.0. 6thEdition.

    OReilly. 2010.

    MacDonald, Matthew. Beginning ASP.NET 4 in CSharp 2010. Apress. Washington.

    2010.

    Mackey, Alex. Introducing .NET 4.0 with Visual Studio 2010. Apress. 2010.

    Mueller, John Paul. Start Here! Learn Microsoft Visual C# 2010. OReilly Media,

    Inc. 2011.

    Northrup, Tony; Snell, Mike. Exam 70-515: Web Applications Development with

    Microsoft .NET Framework 4.Microsoft Press. 2010.

    Shepherd, George. Microsoft ASP.NET 4 Step by Step. Microsoft Press. 2010.

    Stephen, Rob. Start Here! Fundamentals of Microsoft .NET Programming. OReilly

    Media, Inc. 2011.

    biblio

    grafa

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    52/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    53/161

    1

    Fundamentos de

    programacin en C#

    1. MI PRIMERA PGINA EN ASP.NET....................................................3

    2. SINTAXIS DE C#. DECLARACIN DE VARIABLES YCOMENTARIOS...............................................................................14

    2.1. TIPOS PREDEFINIDOS...........................................................15

    2.2. TIPOS DEFINIDOS POR EL USUARIO......................................19

    2.3. DECLARACIN DE VARIABLES................................................21

    2.4. COMENTARIOS.......................................................................21

    3. SENTENCIAS CONDICIONALES, BUCLES Y OPERADORES.................21

    3.1. SENTENCIAS CONDICIONALES...............................................22

    3.2. BUCLES..................................................................................23

    3.3. OPERADORES.........................................................................254. DEFINICIN E INSTANCIACIN DE CLASES....................................32

    4.1. DEFINICIN DE UNA CLASE...................................................32

    4.2. INSTANCIACIN DE UNA CLASE.............................................33

    5. MANEJADORES DE EVENTOS...........................................................37

    6. TRATAMIENTO DE ERRORES...........................................................37

    7. MODIFICADORES...........................................................................39

    7.1. MODIFICADORES DE ACCESO.................................................39

    7.2. OTROS MODIFICADORES........................................................40

    GLOSARIO...........................................................................................43

    REFERENCIAS WEB..............................................................................47

    BIBLIOGRAFA....................................................................................49

    ndice

    formacindigital

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    54/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    55/161

    3

    Fundamentos de

    programacin en C#1. MI PRIMERA PGINA EN ASP.NET

    El objetivo de este captulo es aprender los fundamentos del lenguaje que vamos a utilizar

    en todo el curso, C#. Utilizaremos dicho lenguaje por ser de ltima generacin, pensado

    para los desarrolladores web y que se adapta mejor a los estndares de C++ y Java.

    Para aprender a conocer el entorno y la filosofa de trabajo con Visual Studio, vamos a

    comenzar realizando una pgina ASP.NET sencilla, cuya funcin ser simplemente mostrar el

    mensaje Hola Mundo cuando pulsemos sobre el botn incluido en la pgina. De esta

    forma, adems de conocer Visual Studio, nos familiarizaremos con ASP.NET y el lenguaje

    C#.

    El proceso de creacin de la pginaes el siguiente:

    1. Abrimos Visual Studio en nuestro sistema:

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    56/161

    4

    Fundamentos de

    programacin en C#2. Si esta es la primera vez que ejecutamos el entorno, se mostrar una ventana de

    configuracin en la que se escoge el entorno ms adecuado para nuestro trabajo. En

    este caso elegimos Desarrollo web:

    Esta configuracin no modifica la funcionalidad ni instala componentes adicionales,

    simplemente transforma el entorno para optimizarlo a las labores que se realicen. En

    cualquier caso, aprenderemos que la interfaz de usuario de Visual Studio es configurable

    en cualquier momento.

    Una vez seleccionada la configuracin, aparece la ventana inicial de Visual Studio, donde

    podemos elegir la creacin de un nuevo proyecto. Esto tambin se puede realizar

    navegando por el men Archivo.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    57/161

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    58/161

    6

    Fundamentos de

    programacin en C#4. A continuacin, nos encontramos en el entorno de desarrollo donde podemos crear

    nuestro proyecto.

    Como podemos observar en la imagen anterior, la pgina de inicio del proyecto se

    denomina Default.aspx, la cual, si no indicamos lo contrario, ser la primera pgina

    que se mostrar en el navegador al ejecutar la aplicacin.

    Microsoft recomienda que para realizar la programacin dinmica se emplee el modelo

    code-behind(cdigo trasero o cdigo oculto). Con esta tcnica se separa la parte del

    cdigo C# de la parte visual que es la que se presenta al usuario, lo cual aporta grandes

    ventajas en el desarrollo web pues supone diferenciar la interfaz del cdigo de

    funcionamiento. La parte de cdigo (o lgica), se encuentra en un archivo con extensin.cs,en el que se encuentra ladefinicin de las clases con sus mtodos y atributos. La

    interfaz de usuario, que es la presentacin de la aplicacin, est almacenada en un

    archivo con extensin .aspx.

    Por otra parte, mediante el men de vistas, podemos alternar entre las vistas Diseo,

    Cdigoo Dividir. En esta ltima, se mostrarn ambas vistas de forma simultnea en la

    pantalla.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    59/161

    7

    Fundamentos de

    programacin en C#Es interesante que practiquemos con las ventanas de la interfaz, pues son configurables

    a nuestro modo de trabajar, pudindolas fijas, ocultar, cambiar de lugar o hacerlas

    flotantes.

    5.

    Seguidamente, vamos a cambiar el nombre de la pgina para que, al ser cargada por el

    navegador, tenga un nombre distintivo. En nuestro caso la llamaremos

    HolaMundo.aspx. Para ello, seleccionamos en la Ventana Explorador de soluciones

    el nombre del fichero y pulsamos con el botn derecho.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    60/161

    8

    Fundamentos de

    programacin en C#De esta forma, cambia el nombre tanto del fichero de cdigo como de la interfaz.

    Sin embargo, para nuestro ejemplo vamos a eliminar este archivo, puesto que

    queremos comenzar con una pgina en blanco. Para ello, seleccionamos el archivo en el

    Explorador de solucionesy pulsamos Suprimir.

    Una vez realizado esto, tenemos el proyecto vaco y creamos un nuevo archivo, que

    llamaremos HolaMundo.aspx y que estar en blanco, eligiendo Agregar nuevo

    elemento.

    A continuacin, en el men que se acaba de abrir, seleccionamos Web Forms, adems

    de darle el nombre deseado:

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    61/161

    9

    Fundamentos de

    programacin en C#6. En este paso vamos a incluir una etiqueta Label y un botn Button en la capa de

    presentacin H o la M u n d o .a sp x. Los controles mencionados se encuentran en el cuadro

    de herramientas y solo tendremos que arrastrarlos a la vista Diseo de nuestra pgina

    para insertarlos en ella.

    Se puede trabajar en el modo Diseomodificando las propiedades de ambos elementos

    (objetos), definiendo tamao, nombre, etc. Para ello, podemos utilizar la ventana

    Propiedades:

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    62/161

    10

    Fundamentos de

    programacin en C#7. Vamos a aprender a utilizar el cdigo. Para ello, pulsamos la vista Cdigoy observamos

    el cdigo C# que utiliza nuestra primera pgina web:

    8.

    En este punto vamos a modificar el cdigo HTML para obtener el resultado deseado.Realizaremos pues las modificaciones que sealamos a continuacin en los siguientes

    ficheros:

    a.

    Fichero HolaMundo.aspx, en el que se define la pgina web.

    La etiqueta la renombramos a lNombre y le ponemos un texto descriptivo.

    Cambiamos el nombre al botn por bSaludar, a su propiedad onclick, en la

    que indicamos el mtodo responsable de gestionar el evento de pulsacin delratn, la denominamos pulsado, y a su propiedad Text, le asignamos el

    valor Plsame.

    HolaMundo.aspx

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    63/161

    11

    Fundamentos de

    programacin en C#

    b. Fichero HolaMundo.aspx.cs, donde se definen las clases y sus mtodos. En este

    fichero, introducimos el siguiente cdigo:

    HolaMundo.aspx.cs

    usi ng Syst em;usi ng Syst em. Col l ect i ons. Gener i c;usi ng Syst em. Li nq;usi ng Syst em. Web;usi ng Syst em. Web. UI ;usi ng Syst em. Web. UI . WebCont r ol s;

    publ i c part i al cl ass Hol aMundo: Syst em. Web. UI . Page{

    pr otect ed voi d Page_Load( Obj ect sender, Event Ar gs e){

    }

    pr otect ed voi d pul sado( Obj ect sender, Event Ar gs e){l Nombre. St yl e[ " f ont - s i ze"] = "XX- Large" ;l Nombre. Text = " Hol a Mundo! " ;

    }}

    Seguidamente, guardamos los ficheros y pulsamos el botn Iniciar depuracino

    F5, con lo que obtendremos nuestro primer formulario en ASP.NET.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    64/161

    12

    Fundamentos de

    programacin en C#Una vez probado, no debemos olvidar detener la depuracin para seguir

    trabajando:

    Otra opcin para ejecutar nuestro formulario es usar la opcin Ver en el

    Explorador como muestra la siguiente imagen:

    Resultado de la ejecucin de nuestra pgina holamundo.aspxen el navegador.

    Como recordaremos, en el fichero HolaMundo.aspx nos encontramos con la

    definicin de un Web Form (formulario web), que ser el que va a contener la

    etiqueta y el botn. Podemos observar que la sintaxis es muy similar a la utilizadapara definir un formulario tpico HTML, la diferencia est en la inclusin de la

    propiedad runat que posee el valor server, para indicar que se trata de un

    formulario de servidor. Adems, la pgina HolaMundo.aspx incorpora la directiva

    Pa g e, encerrada entre los signos la cual define los siguientes atributos:

    Inherits. Es empleado para indicar la clase de la que hereda la pgina

    HolaMundo.aspx.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    65/161

    13

    Fundamentos de

    programacin en C# CodeBehind. Sirve para indicar el archivo compilado que contiene la clase

    asociada con la pgina.

    AutoEventWireup. Indica si los eventos se deben generar de forma

    automtica.

    Language. Especifica el lenguaje utilizado por la pgina.

    Tambin, dentro del formulario se encuentran dos controles web que pertenecen a

    las clases Labely Button. Recordemos que estos dos controles web son los objetos

    que utilizaremos en nuestro cdigo, siendo cada uno de ellos una instancia de su

    clase correspondiente.

    El objeto Labelrepresenta a la etiqueta que mostrar el mensaje en la pgina.

    El objeto Buttones el botn que invocar al mtodopulsadocuando el usuario

    haga clic sobre l.

    Estos dos controles tienen un atributo id, que es el nombre que lo identifica y a

    travs del cual podremos acceder a sus propiedades. As, en el mtodo pulsado

    utilizamos el identificador etiqueta para acceder al objeto Label y modificar el

    valor de su propiedad Text, que de forma predeterminada es una cadena vaca.

    Adems, el control Buttonposee la propiedad onclick, en la que podemos indicar el

    mtodo responsable de tratar el evento de pulsacin.

    En holamundo.aspx.cs tenemos el mtodo void pulsado(object sender, EventArgs

    e), que se ejecutar cuando el usuario pulse el botn que pertenece al Web Form.

    Este mtodo trata el evento de pulsacin del botn (onclick=pulsado en la

    definicin del control del fichero holamundo.aspx). Adems,

    devuelve void, es decir, ningn valor, y recibe dos parmetros, el primero de tipo

    objecty el segundo de tipo EventArgs, que ofrecen informacin acerca del evento

    que se ha producido, aunque en este ejemplo no usamos dichos parmetros porque

    no son necesarios para mostrar nuestro mensaje.

    Dentro del mtodo pulsado accedemos al estilo de la etiqueta definida

    (lNombre.Style["font-size"]) para darle un tamao determinado y, a continuacin,

    establecemos el valor de la propiedad Text de la etiqueta con el mensaje Hola

    Mundo!.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    66/161

    14

    Fundamentos de

    programacin en C#Por ltimo, podemos observar que el delimitador de sentencias en C#es el punto y

    coma (;) y el de bloques de cdigo son las llaves {}.

    2. SINTAXIS DE C#. DECLARACIN DE VARIABLES Y COMENTARIOS

    El lenguaje C#presenta una serie de palabras bsicas reservadas para el propio lenguaje

    que incluyen comandos, tipos, etc. Por este motivo, no podremos usarlas en nuestros

    nombres de clases, variables, propiedades, funciones o mtodos. Estas palabras reservadas

    son:

    abstract as base bool

    break byte case catch

    char checked class const

    continue decimal default delegate

    do double else enum

    event explicit extern false

    finally fixed float for

    foreach goto if implicit

    in int interface internal

    is lock long namespace

    new null object operator

    out override params private

    protected public readonly ref

    return sbyte sealed short

    sizeof stackalloc static string

    struct switch this throw

    true try typeof uint

    ulong unchecked unsafe ushort

    using virtual void volatile

    while

    El objetivo de esta lista no es memorizarlas, tan solo tiene inters como punto de referencia,

    las iremos utilizando segn avance el curso.

    Es importante indicar que el lenguaje C#es sensible a maysculas y minsculas, en ingls a

    esta propiedad se la denomina case sensitive. Debido a ella, hay que prestar atencin y

    tener cuidado en su uso, puesto que no solo puede afectar a que durante la compilacin del

    cdigo no sean reconocidas palabras reservadas del lenguaje, sino que pueden crear

    confusin y graves prdidas de tiempo al cambiarse el nombre de las variables por uso

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    67/161

    15

    Fundamentos de

    programacin en C#diferente de maysculas y minsculas. Esto puede crear desde errores en tiempo de

    compilacin hasta errores durante la ejecucin, con comportamientos extraos al utilizar

    diferentes variables pensando que son la misma, por ejemplo, lNombre y Lnombre en

    nuestro ejemplo seran dos identificadores diferentes.

    2.1. TIPOS PREDEFINIDOS

    C#provee de 15 tipos predefinidos, los cuales se muestran en la siguiente figura:

    Los tipos predefinidos simplesincluyen 11 tiposnumricos:

    Ocho tipos enteros con distintas longitudes, con signo y sin signo.

    Tipos de punto flotante -floaty double-.

    Decimales de alta precisin llamados decimal.A diferencia de los tipos floaty double, el

    tipo decimal puede representar nmeros fraccionarios decimales exactos. Se usa

    frecuentemente para clculos monetarios.

    sbyte byte short ushort int uint long ulong

    bool char

    No numricos Numrico

    Entero

    8-Bit 16-Bit 32-Bit 64-Bit

    object string

    Tipospredefinidos

    Simple

    float double

    Punto flotante

    decimal

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    68/161

    16

    Fundamentos de

    programacin en C#Los tipos predefinidos simples no numricosson:

    Un tipo carcter, llamado char.

    Un tipo boolque representa valores booleanos y toman como valor trueo false.

    Por otra parte, los dos tipos no simplesson los siguientes:

    El tipo string, que es un array (vector o matriz) de caracteres.

    El tipo object, que es el tipo en el cual est basado el resto de los tipos.

    En resumen son:

    Nombre corto Tipo Longitud bits Intervalo valores (decimal)

    byte Entero sin signo 8 0 a 255

    sbyte Entero con signo 8 -128 a 127

    int Entero con signo 32 -2.147.483.648 a 2.147.483.647

    uint Entero sin signo 32 0 a 4294967295

    short Entero con signo 16 -32.768 a 32.767

    ushort Entero sin signo 16 0 a 65535

    long Entero con signo64 -922337203685477508 a

    922337203685477507

    ulong Entero sin signo 64 0 a 18446744073709551615

    floatTipo de punto flotante de

    precisin simple

    32 -3,402823e38 a 3,402823e38

    doubleTipo de punto flotante de

    precisin doble

    64 -1,79769313486232e308 a

    1,79769313486232e308

    char Un carcter Unicode 16 Smbolos Unicode

    bool Tipo Boolean lgico 8 True o false

    objectTipo base de todos los otros

    tipos

    string Una secuencia de caracteres

    decimal

    Tipo preciso fraccionario o

    integral, puede representar

    nmeros decimales con 29

    dgitos significativos

    128 1.0 10e28 a 7.9 10e28

    A continuacin, vamos a describir un pequeo ejemplo donde definimos una serie de

    variables y su uso:

    1.

    Creamos un nuevo proyecto, que denominamos SumaNumeros, el cual definimos en

    C# como Aplicacin web vaca de ASP.NET.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    69/161

    17

    Fundamentos de

    programacin en C#2. Le agregamos un nuevo elemento que ser la pgina web aspx que vamos a crear,

    eligiendo, por ello, Web Forms.

    3.

    En el formulario web creado, en modo Diseo, introducimos desde el cuadro de

    herramientas, tres Label, tres TextBoxy un Buttom, resultando el siguiente diseo:

    4.

    Ahora hay que escribir el cdigo de nuestro pequeo formulario. Para ello, pulsamos

    sobre la vista Cdigo y cambiamos la identificacin de los TextBox para referirlos

    correctamente:

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    70/161

    18

    Fundamentos de

    programacin en C#5. Seguidamente, abrimos el fichero de cdigo que definir los mtodos. Lo primero ser

    definir nuestras variables de tipo entero:

    public int vara= 25;

    public int varb= 125;

    Las definimos como pblicas pues deseamos que el mtodo sumar, que se ejecutar al

    pulsar el botn, tenga acceso a ellas. Asimismo, definimos la variable resultado, cuyo

    valor ser la suma de vara yvarb:

    int result = vara + varb;

    Por otra parte, podemos observar el funcionamiento de los eventos:

    Page_Loadse produce siempre que se carga la pgina en el navegador. De esta

    forma, podemos mostrar los valores de las variables.

    Se utiliza el mtodo System.Convert.ToString (valor); para convertir los valores

    enteros de las variables en cadenas de caracteres (string), pues es el tipo de la

    propiedad Textde cada elemento TextBoxque tenemos insertado en la pgina.

    El evento que se ejecutar al pulsar el botn es sumar. Al ser lanzado, suma los

    valores de las dos variables pblicas varay varb, y los asigna a la variable privada

    result, para posteriormente convertirla en cadena y asignarla a la propiedad Text

    del control txtVarResultadode nuestra pgina.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    71/161

    19

    Fundamentos de

    programacin en C#Se obtiene finalmente el siguiente resultado:

    2.2. TIPOS DEFINIDOS POR EL USUARIO

    Adems de los 15 tipos primitivos que nos provee C#, tambin podemos crear los nuestros

    propios. Estos tipos son estructuras de datos ms complejas, formados habitualmente por

    otros tipos de datos. Son los siguientes:

    Tipo e n u m: define enumeraciones de constantes de tipos bsicos.

    enum di as {Lunes, Mart es, Mi rcol es, J ueves, Vi ernes, Sbado, Domi ngo };

    Los enumer ador es t i enen una numer aci n predet er mi nada, comenzando por 0, de t i poi nt . As Lunes es 0, Mar t e 1, et c.

    Est a numeraci n puede modi f i car se i ndi cando el val or de comi enzo del pri merenumer ador :

    enum di as {Lunes = 1, Mart es, Mi rcol es, J ueves, Vi ernes, Sbado, Domi ngo };

    Par a decl arar l a numeraci n de un t i po di f erent e a i nt , se escri be:

    enum di as : byte {Lunes = 1, Mart es, Mi rcol es, J ueves, Vi ernes, Sbado, Domi ngo};

    Los tipos primitivos permitidos en la enumeracin son byte, sbyte, short, ushort, int,

    uint, longy ulong.

    Tipo c l a s s : define las clases. Por ejemplo:

    cl ass Cl aseTest {

    / / Se def i nen Mtodos, pr opi edades, campos, event os, del egados y ot r as/ / cl ases que se necesi t en

    }

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    72/161

    20

    Fundamentos de

    programacin en C# Tipo st ru ct: este tipo de datos se utiliza para encapsular pequeos grupos de variables

    en una estructura relacionada.

    publ i c str uct Al bum{

    publ i c str i ng aut or; publ i c str i ng t t ul o; publ i c i nt anno; publ i c deci mal pr eci o;

    }

    Tipo d el eg at e: se utiliza para declarar la firma de un mtodo que ser definido en una

    clase1.

    publ i c del egate i nt t i poDel egado ( s t r i ng mensaj e, l ong val or ) ;

    Tipo in t er fa ce: las interfaces contienen solo las firmas de mtodos, propiedades,

    eventos o indizadores, no su implementacin. Posteriormente se pueden definir clases

    que implementarn esa interfaz.

    I nterf ace coor denadas

    {

    i nt x

    {get ;

    set ;

    }

    i nt y

    {

    get ;

    set ;

    }

    }

    Finalmente, una vez hemos declarado uno de los anteriores tipos, podemos usarlos para

    crear objetos, como si fuesen primitivos.

    1 El uso de estos tipos no es objetivo del presente tema. Puede obtenerse ms informacin en:

    http://msdn.microsoft.com/es-es/library/900fyy8e(v=vs.100).aspx

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    73/161

    21

    Fundamentos de

    programacin en C#2.3. DECLARACIN DE VARIABLES

    Para declarar una variable (tanto si es una referencia a un objeto o a un tipo simple),

    primero indicamos el tipo de la variable, es decir, el tipo simple o clase, y a continuacin el

    nombre de la variable. No obstante, si la variable posee algn modificador de acceso (como

    privateopublic) o de otro tipo, este modificador debe aparecer antes del tipo de la variable.

    Ejemplo:

    s t r i ng cadena;i nt num_al eat ori o;publ i c Dat eTi me f echaAct ual ;

    2.4. COMENTARIOS

    Podemos utilizar comentarios de lnea simple o de un grupo de lneas:

    / / Cdi go coment ado de l nea si mpl e

    / * Cdi go coment ado que ocupa var i as l neas.El cdi go coment ado no se ej ecut ar.

    */

    Los comentarios resultan tiles para documentar el cdigo e incluir anotaciones. De esta

    forma, se explica el porqu de algunas decisiones o sentencias. Tambin son tiles para

    posterior mantenimiento del cdigo e, incluso, si trabajamos en grupo, el cdigo ser ms

    accesible y entendible si tiene comentarios aclaratorios.

    Por todo ello, la documentacin del cdigo se considera una buena prctica del profesional en

    programacin.

    3. SENTENCIAS CONDICIONALES, BUCLES Y OPERADORES

    En el presente apartado, estudiaremos los conjuntos de sentencias bsicos en programacin,

    incorporados en todos los algoritmos de programacin y lenguajes de programacin, excepto

    algn extrao desarrollo creado para alguna solucin especfica.

    Analizaremos estas sentencias explicando con ejemplos su sintaxis para, posteriormente,

    desarrollar un caso prctico donde se aplique la mayora de ellas.

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    74/161

    22

    Fundamentos de

    programacin en C#3.1. SENTENCIAS CONDICIONALES

    Las sentencias condicionalesson las siguientes:

    Condicional if else. Su sintaxis es la siguiente (la inclusin de la sentencia else es

    opcional, por eso va entre corchetes).

    i f ( expr esi n) {/ / cdi go para expr esi n "verdadera";

    }[ el se {/ / cdi go para expr esi n "f al sa";

    }]

    / / Veamos un ej empl o de su uso:

    protected voi d pul sado( Obj ect sender, Event Ar gs e){

    i f ( et i queta1. Text. Equal s( et i queta2. Text) ){

    Response. Wr i t e( "Las et i quetas son i gual es") ;}el se{

    Response. Wr i t e( "Las eti quetas no son i gual es") ;}

    }

    Condicional mltiple switch.

    swi t ch ( expr esi n){

    case expr esi n_const ant e1:/ / cdi gobreak;

    case expr esi n_const ant e2:/ / cdi gobreak;

    . . .def aul t :

    / / cdi gobreak;

    }

    Veamos un ejemplo de su uso:

    protected voi d pul sado( Obj ect sender, Event Ar gs e){

    s t r i ng r espuesta = TextBox1. Text;swi t ch (respuesta){

    case "1":Response. Wr i t e ( "Ha el egi do l a respuest a 1") ;break;

    case "2":Response. Wr i t e ( "Ha el egi do l a respuest a 2") ;break;

    case "3":Response. Wr i t e ( "Ha el egi do l a respuest a 3") ;break;

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    75/161

    23

    Fundamentos de

    programacin en C#def aul t :

    Response. Wr i t e ( "Debe el egi r una de est as respuest as: 1, 2,3") ;

    break;}}

    3.2. BUCLES

    Los bucles se utilizan cuando queremos repetir la ejecucin de unas sentencias un nmero

    indefinido de veces, siempre que se cumpla una condicin.

    Buclewhile. En este bucle se evala primero la condicin y si se cumple, se repetir la

    ejecucin hasta que la condicin deje de hacerlo.

    whi l e ( expr esi n){

    / / cdi go}

    / / Ej empl o de su uso:

    protected voi d pul sado( Obj ect sender, Event Ar gs e){

    i nt cont ador = 0;whi l e( cont ador 0) ;}

  • 7/24/2019 Programacion de Aplicaciones en ASP.net

    76/161

    24

    Fundamentos de

    programacin en C# Bucle for. Es un bucle que permite ejecut