SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
DESARROLLO APLICACIONES WINDOWS
EN C# USANDO VISUAL STUDIO .NET
Estructura de contenidos
INTRODUCCIÓN........................................................................3
1. INTRODUCCIÓN A VISUAL STUDIO .NET...................................3
1.2. Características principales....................................................4
1.3. Arquitectura Framework de .Net............................................5
2. PROGRAMACIÓN ORIENTADA A OBJETOS .................................8
2.1. Conceptos que maneja la POO..............................................8
2.2. Conceptos de programación orientada a objetos con C# .........10
2.3. Ejemplo de declaración de una clase en c#.............................13
3. DESARROLLO DE APLICACIONES WINDOWS FORMS...................17
3.1. Controles...........................................................................17
3.2. Identificadores, tipos y palabras reservadas............................21
3.3. Estructuras algorítmicas en lenguaje c#.................................25
3.4. Conexión a base de datos usando ADO.NET............................26
4. Desarrollo de una aplicación C# bajo una Arquitectura 3 capas....28
4.1. Arquitectura de la aplicación.................................................30
4.2. Creación de la Interfaz gráfica de usuario (GUI).....................30
4.3. Creación de la Vista lógica....................................................33
4.4. Creación de la Vista de Datos...............................................35
GLOSARIO................................................................................37
BIBLIOGRAFÍA..........................................................................38
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
2
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Mapaconceptual
DESARROLLOAPLICACIONESWINDOWSENC#USANDO
VISUALSTUDIO.NET
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
3
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
INTRODUCCIÓN
Visual Studio .Net es un Entorno de Desarrollo Integrado (IDE) que permite
desarrollar múltiples aplicaciones, orientadas a utilizar el Paradigma
Orientado a Objetos usando lenguages de programación como Visual.net,
C# y ASPX. Uno de los tipos de aplicaciones que se puede desarrollar son
las aplicaciones para escritorio, llamadas comúnmente “WindowsForms”
(Formularios para Sistema Operativo Windows).
El paradigma orientado a objetos es una forma de programar más
cercano a la realidad, de tal manera que utiliza conceptos tales como
objetos, mensajes, métodos, herencia y polimorfismo. Todo lo anterior se
desarrolla dentro de este objeto de aprendizaje para que pueda crear una
aplicación Windows Forms usando el lenguaje de programación C# y que
utilice el concepto de programación orientado a objetos.
1. INTRODUCCIÓN A VISUAL STUDIO .NET
Microsoft Visual Studio .NET es una plataforma que permite ejecutar
y desarrollar aplicaciones, soluciones informáticas y/o sistemas de
información, brindando todas las herramientas y servicios necesarios para
desarrollar modernas aplicaciones empresariales.
1.1.	Componentes
Microsoft Visual Studio .Net tiene los siguientes componentes principales:
•	 Entorno de ejecución aplicaciones, “Runtime” el cual es un
componente de software cuya función es la de ejecutar las aplicaciones
.NET e interactuar con el sistema operativo ofreciendo sus servicios y
recursos.
•	 Conjunto de bibliotecas de funcionalidades y controles reutilizables,
con una enorme cantidad de componentes ya programados listos para
ser consumidos por otras aplicaciones.
•	 Conjunto de lenguajes de programación de alto nivel, junto con
sus compiladores y linkers, que permitirán el desarrollo de aplicaciones
sobre la plataforma .NET.
•	 Conjunto de utilitarios y herramientas de desarrollo para simplificar
las tareas más comunes del proceso de desarrollo de aplicaciones
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
4
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
•	 Documentación y guías de arquitectura, que describen las mejores
prácticas de diseño, organización, desarrollo, prueba e instalación de
aplicaciones .NET
1.2.	 Características principales
•	 Es una plataforma de ejecución intermedia, ya que las aplicaciones
de Visual Studio.NET no son ejecutadas directamente por el sistema
operativo, como ocurre en el modelo tradicional de desarrollo.
Las aplicaciones .NET están diseñadas para ser ejecutadas con un
componente de software llamado Entorno de Ejecución (conocido como
“Runtime”, o “Máquina Virtual”). El cual es el encargado de manejar el
ciclo de vida de cualquier aplicación de Visual Studio .NET, iniciándola,
deteniéndola e interactuando con el sistema operativo y brindándole los
servicios y recursos en tiempo de ejecución.
•	 Visual Studio .NET está basada en el paradigma de Orientación a
Objetos
•	 Visual Studio .NET es multi-lenguaje: lo cual significa que para
codificar aplicaciones sobre esta plataforma no se necesita aprender
un único lenguaje específico de programación de alto nivel, sino que se
puede elegir de una amplia lista de opciones.
•	 Tanto como desarrolladores no profesionales, estudiantes y
entusiastas, utilizan esta herramienta, pero Visual Studio .Net esta
desarrollado para poder soportar las aplicaciones empresariales grandes
y complejas y de misión critica.
•	 Visual Studio .Net es una plataforma desarrollada por Microsoft y
para poder desarrollar o comercializar aplicaciones empresariales debe
comprar la licencia, pero para fines académicos puede utilizarse siempre
y cuando las aplicaciones desarrolladas no se comercialicen.
•	 Visual Studio Net está diseñado de tal manera que en un único
modelo de programación, uniforme y consistente se desarrollen las
aplicaciones (ya sean de formularios Windows, de consola, aplicaciones
Web, aplicaciones móviles, etc.) y para cualquier dispositivo de hardware
(PC’s, Pocket PC’s, Teléfonos Celulares Inteligentes, también llamados
“SmartPhones”, Tablet PC’s, etc.).
•	 Visual Studio .NET se integra fácilmente con aplicaciones
desarrolladas en otras plataformas Microsoft y también con aquellas
desarrolladas en otras plataformas de software, sistemas operativos o
lenguajes de programación.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
5
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
1.3.	 Arquitectura Framework de .Net
El Framework de .Net (“Marco de Trabajo”) es el componente fundamental
de la plataforma Microsoft Visual Studio.NET que permite ejecutar las
aplicaciones desarrolladas.
Se tienen tres componentes principales:
.NET Framework Redistributable Package: Mínimo componente de la
plataforma .NET necesario para poder ejecutar aplicaciones. Normalmente
se instala en los entornos productivos, una vez que el desarrollo y las
pruebas de la aplicación han finalizado.
Está compuesto por:
•	 El entorno de ejecución de la plataforma .NET
•	 Las bibliotecas de funcionalidad reutilizable
.NET Framework SDK: Contiene las herramientas de desarrollo de línea
de comandos (compiladores, depuradores, etc.), documentación de
referencia, ejemplos y manuales para desarrolladores de aplicaciones.
Se instala en los y es más útil a los programadores que para los usuarios
finales.
Para poder instalar la versión SDK (Software Development Kit) es necesario
instalar previamente el Redistributable Package.
.NET Compact Framework: Versión reducida .NET Framework
Redistributable, especialmente pensada para ser instalada en dispositivos
móviles como Pocket PC’s y SmartPhones.
1.3.1.	 Componentes de la arquitectura
Los componentes de la arquitectura del framework de .Net se pueden
apreciar en la siguiente figura:
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
6
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
VB
ASP.NET
Windows COM + Services
ADO.NET y XML
Base Class Library
Common Lenguage Runtime
Windows Forms
Common Lenguage Specification
C++ C# J# ...
.NETFramework
Redistributable
.NET Framework SDK
.NET Framework
Class Library
}
CLR-Common Language Runtime (color verde): Es conocido como el
entorno de ejecución de aplicaciones, y es el encargado de ejecutar las
aplicaciones y proveerles servicios en tiempo de ejecución.
Class library (color azul): Es conocido como el conjunto de bibliotecas
que provee muchos tipos básicos (clases e interfaces) orientados a
objetos, extensibles mediante herencia, independientes del lenguaje de
programación de alto nivel que se esté utilizando y que se encuentran
organizados en namespaces jerárquicos. En la siguiente figura se aprecian
los principales namespaces de la biblioteca de clases .NET:
•	 System: raíz de todos los otros namespaces, y dentro del cual se
pude encontrar la mayoría de los namespaces correspondientes a la
Base Class Library
•	 System.Data y System.Xml: Constituyen la tecnología conocida
como ADO.NET, la cual se usa para acceso a datos.
•	 System.Web: Se encuentran todos los tipos necesarios para
programar aplicaciones y servicios web ASP.NET
•	 System.Windows.Forms: Se encuentran todos los tipos necesarios
para programar aplicaciones de escritorio basadas en formularios y
ventanas Windows.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
7
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Dentro de este componentes se tienen 4 sub-componentes principales:
•	 La Base Class Library (BCL - Biblioteca de Clases Base):
La cual contiene la funcionalidad que más se utiliza para desarrollar
aplicaciones tales como el manejo de colecciones, cadenas de texto,
entrada/salida, threading, operaciones matemáticas y dibujos 2D.
•	 ADO.NET: Contiene el conjunto de clases que permiten interactuar
con bases de datos relacionales y documentos XML como repositorios
de información persistente.
•	 ASP.NET: Es la tecnología necesaria del .NET Framework para
construir aplicaciones con interfaz de usuario Web (es decir, aplicaciones
cuya lógica se encuentra centralizada en uno o varios servidores y que
los clientes pueden acceder usando un browser o navegador mediante
una serie de protocolos y estándares como HTTP y HTML).
•	 Windows Forms (WinForms): Es la tecnología necesaria.NET
Framewok que permite crear aplicaciones con interfaz de usuario basada
en formularios y ventanas Windows y que se ejecutan directamente en
los clientes.
Especificación de Lenguaje Común -CLS (color rojo): Uno de los
principales objetivos del diseño de la plataforma de Visual Studio .NET fue
el de que el lenguaje de programación elegido fuera independiente.
Para esto se creó este componente que define y estandariza un subconjunto
de todas las características soportadas por el CLR y que son necesarias
en la mayoría de las aplicaciones. Todos los componentes desarrollados y
compilados de acuerdo con la especificación CLS pueden interactuar entre
sí, independientemente del lenguaje de programación de alto nivel en el
que fueron escritos.
El Framework de .Net provee implementaciones de 4 lenguajes compatibles
con CLS, junto con sus compiladores:
*	 Microsoft Visual Basic .NET
*	 Microsoft Visual C# .NET
*	 Microsoft Visual J#.NET
*	 Microsoft Visual C++.NET
Esto quiere decir que una aplicación escrita, por ejemplo, en Visual Basic.
NET, puede incorporar sin problemas nuevas partes escritas en C# o C++
.NET.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
8
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Todos los componentes mencionados anteriormente se montan por encima
de la familia de sistemas operativos Windows.
2.	 PROGRAMACIÓN ORIENTADA A OBJETOS
La programación orientada a objetos (POO) es una forma especial de
programar muy cercana a la forma como se pueden expresar las cosas en
la vida real, a diferencia de otros tipos de programación.
Según Grady Booch, el autor del método de diseño orientado a objetos,
define la POO como “un método de implementación en el que los programas
se organizan como colecciones cooperativas de objetos, cada uno de los
cuales representan una instancia de alguna clase, y cuyas clases son
todas miembros de una jerarquía de clase unida mediante relaciones de
herencia”.
2.1.	 Conceptos que maneja la POO
La programación orientada a objetos incluye los conceptos de objetos,
clases, atributos, métodos, herencia y polimorfismo. De tal manera que
todos ellos se incluyen para desarrollar un programa con este paradigma.
Existen tres partes importantes en la definición de programación orientada
a objetos:
Según Booch, todos los objetos tienen 3 características principales que
son:
•	 Todos los objetos tienen un Estado, Comportamiento e identidad.
•	 Cada objeto es una instancia de una clase.
•	 Las clases se relacionan unas con otras por medio de relaciones de
herencia.
Un programa puede parecer orientado a objetos, pero si cualquiera de
estos elementos no existe, no es un programa orientado a objetos. La
programación sin herencia se denomina programación por tipos abstractos
de datos.
Como se piensa en objetos
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
9
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Pensar en objetos incluye cuatro elementos fundamentales en el modelo
orientado a objetos, cada uno requiere una forma distinta de pensar en el
problema, los cuales son la abstracción, encapsulamiento, polimorfismo,
modularidad y jerarquía.
ABSTRACCIÓN
ENCAPSULAMIENTO
MODULARIDAD
POLIMORFISMO
JERARQUÍA
OTRAS
MODULARIDAD: Fragmentar un programa en componentes individuales
reduce su complejidad en algún grado.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
10
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
ABSTRACCIÓN: Representación de las características esenciales de algo
sin incluir detalles irrelevantes.
ENCAPSULAMIENTO: Incluir en un objeto lo necesario de forma que
ningún otro objeto tenga que conocer su estructura interna.
JERARQUÍA: Mecanismo para compartir automáticamente métodos y
atributos entre clases y subclases.
POLIMORFISMO: Implementar múltiples formas un mismo método.
OTRAS: Concurrencia, Persistencia, Genericidad, Manejo de excepciones.
2.2.	 Conceptos de programación orientada a objetos con C#
A continuación se explica cada uno de los conceptos que implementa la
programación orientada a objetos en el lenguaje de programación C#,
tales como clases, objetos, mensajes y métodos, herencia y polimorfismo.
Se presenta a continuación el
2.2.1.	 Declaración de una Clase
En términos de programación una clase es una estructura que contiene
datos y procedimientos (funciones) que son capaces de operar sobre esos
datos, una clase consta de una declaración de la clase, donde se listan los
atributos (datos) de una clase y una implementación, donde se definen
las funciones (métodos) de la clase.
Para construir un programa orientado a objetos se debe:
1.	Identificar las clases que tendrá el sistema a construir.
2.	Para cada clase identificar los atributos.
3.	Para cada clase identificar los métodos.
4.	Crear los objetos de cada clase para acceder a los métodos y atributos.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
11
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Una clase en lenguaje C#, debe ser declarada antes de ser utilizada, el
formato de declaración de una clase contiene el nombre de la clase y el
cuerpo.
Class Nombre{
//cuerpo de la clase
Private:
//miembros privados
Public:
//miembro públicos
Protected:
//miembros protegidos
}
Mensajes y Métodos
En las clases se pueden identificar distintas categorías de métodos:
•	 Métodos inicializadores: inicializan atributos.
•	 Métodos accesores: devuelven el contenido de los atributos (cada
accesor devuelve un atributo). Llamados también métodos get.
•	 Métodos mutadores: establecen el contenido de los atributos,
llamados también métodos set.
•	 Métodos visualizadores: muestran el objeto (valores de los
atributos o alguna representación visual del objeto).
•	 Métodos computadores: realizan cálculos y generan resultados.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
12
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
2.2.2.	 Métodos privados, públicos y protegidos (niveles de
acceso)
En el lenguaje C# se definen las siguientes palabras reservadas para
declarar la accesibilidad (o el nivel de acceso) de los métodos y atributos
en una clase:
•	 Public: Indica que se puede tener acceso libre tanto a las variables
y funciones miembro de la clase.
•	 Private: Juega un papel parecido al de una variable local en una
función, solo puede tener acceso a los atributos privados, las funciones
miembro de dicha clase, así mismo una variable local sólo está disponible
en el interior de la función.
•	 Protected: Permite a las clases derivadas acceder a los atributos
de su clase base. Por defecto todos los miembros de una clase son
privados, a menos que se especifique le contrario.
Class Nombre{
Private:
datos miembro
Public:
acceso a la clase
funciones miembro
Acceso del usuario
de la clase
A través de los objetos de una clase se puede acceder (con el operador
•) a lo que esté declarado como público en la clase, lo privado sólo puede
ser accedido directamente dentro de la clase. Los atributos deben estar
ocultos (ser privados) aunque (C# permite declarar atributos públicos, lo
correcto es que los atributos sean privados), los métodos se implementan
con funciones miembro.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
13
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Reglas de visibilidad.
Sección privada: solamente las funciones miembro de la clase pueden
acceder a los miembros privados. Las instancias de la clase no pueden
acceder a los miembros privados.
Sección protegida: solamente la función miembro de la clase y sus clases
descendientes pueden acceder a miembros protegidos. Las instancias de
la clase no pueden acceder a miembros protegidos.
Sección pública: Los miembros específicos que son visibles a las funciones
miembro de la clase, instancias de la clase, funciones miembro de clases
descendientes y sus instancias.
2.3.	 Ejemplo de declaración de una clase en c#
Es de recordar que el nombre de la clase debe ser representativo de lo
que se quiere modelar, es decir si se tiene la abstracción de almacenar
un punto para luego dibujar una figura, la clase se debería llamar Punto.
Propiedades
En Visual Studio .Net se pueden crear propiedades para cada uno de los
atributos que se crean para la clase, de tal manera que se puede acceder
y modificar los valores de estos atributos; cabe anotar que cuando se
crea una clase con propiedades, los métodos accesores y mutadores son
reemplazados, por ejemplo:
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
14
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
-class-punto
-{
-----private-float-Posy;
-----private-float-Posy;
-----public-void-inicializar(){
---------Posy-=-0;
---------Posy-=-0;
-----}
-----public-float-X-{-
---------set{Posx=value;}
---------get{return-Posx;}
-----}-----
-----public-float-Y-{-
---------set{Posy=value;}
---------get{return-Posy;}
-----}
-----public-void-dibujar();
-}
-
atributos
inicializador
propiedades
lógica
En el ejemplo anterior las propiedades se realizan para los atributos Posx,
Posy y para cada uno de ellos se realiza su accesor (set), y modificador
(get). Más adelante se revisa cómo utilizar las propiedades en una
aplicación WindowsForms.
Objetos
Recordemos que, según las definiciones formales de James Rumbaugh y
Grady Booch, un objeto es: “Una abstracción de la realidad que tiene un
significado concreto y claro para el problema que se está modelando”.
Una vez creada la clase, junto con los métodos y/o propiedades, atributos
se procede a crear y declarar los objetos. Un objeto se declara de la
siguiente forma:
Punto objpunto; // el objeto llamado objpunto es de la clase Punto
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
15
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Los objetos se pueden crear estáticos, objetos que se declaran al principio
de un programa y permanecen hasta que el programa se termina; o
dinámicos, objetos que crean y destruyen en la medida que se necesitan.
Cuando el compilador encuentra la declaración de un objeto, asigna una
ubicación de memoria para almacenar los datos del “punto” tales como la
posición en x y en Y.
Para crear un objeto en visual Studio .Net con lenguaje C# se hace de la
siguiente manera
Persona objpersonal;
Nombre de
la clase
Nombre del
objeto
Ejemplos
*	 Ejemplo Clase Estudiante1
En la siguiente porción de código puede observar cómo se crea la clase
Estudiante haciendo uso de los métodos accesores y modificadores.
class Estudiante
{
#region “Atributoss”
private string nombre;
#endregion
#region “Metodos”
///<summary>
///Se asignara al atributo nombre un nombre
///enviado como parametro
///</sumary>
///<param name=”name”> parametro que establecera un dato de
tipo
///string para asignacion al atributo nombre</param>
public void asignarNombres(string name)
{
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
16
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
nombre=name;
}
///<summary>
///Metodo para obtener el nombre asignado
///al atributo nombre
///</summary>
///<returns>es el nobre (string) del atributo nombre </returns>
public string obtenerNombre()
{
return nombre;
}
#endregion
}
*	 Ejemplos Clase Estudiante2
En la siguiente porción de código puede observar cómo se crea la clase
Estudiante haciendo uso de propiedades.
class Estudiante {
#region “Atributoss”
/// <sumary>
/// Atributo nombre para almacenar los nombres
/// de los estudiantes.
/// </sumary>
private string nombre;
#endregion
#region “Propiedades”
///<summary>
///Propiedad para acceder al atributo nombre
///u obtener el nombre de un estudiante
///</sumary>
public string Nombre{
// modificador
set{nombre=value;}
// accesor
get{return nombre;}
}
#endregion
}
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
17
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
3.	 DESARROLLO DE APLICACIONES WINDOWS FORMS
Para construir una aplicación que resuelva un problema o una necesidad
en una empresa u organización, no basta con la creación de las clases
y aplicar los conceptos del paradigma orientado a objetos. Es necesario
crear la interfaz de usuario que permitirá que el cliente finalmente pueda
utilizar la aplicación desarrollada y la persistencia (acceso a los datos),
para el almacenamiento de los datos.
Las clases proporcionadas por el framework .NET incluyen una gran
cantidad para la creación y administración de aplicaciones Windows.
Todos los controles necesarios para desarrollar este tipo de aplicaciones
los provee el NameSpace System.Windows.Forms. Un namespace
es una estructura organizacional de funcionalidades tales como clases,
funciones, tipos de datos, etc. relacionados entre sí y agrupados bajo una
denominación común.
Al crear un proyecto de aplicación Windows, además de generarse
automáticamente un formulario por defecto, se crean una serie de archivos
y clases que complementan la aplicación.
Entre ellos están:
•	 Program.cs (o .vb): Contiene una clase estática (Program) con
un método Main() que constituye el punto de entrada de la aplicación.
•	 AssemblyInfo.cs (o .vb): Es parte de cada proyecto y sirve para
personalizar datos importantes acerca del ensamblado (Assembly).
•	 Settings.cs (o .vb): Es el encargado del acceso a la configuración
de usuario de la aplicación (se profundizará más adelante en esta
presentación).
•	 References: Por defecto ya se incluyen algunas referencias a otros
assemblies de .NET. Desde esta carpeta se pueden agregar o quitar las
que se requieran para el caso particular.
3.1.	Controles
Para poder crear las interfaces de usuario, Visual Studio .Net maneja
diferentes tipos de controles tales como:
Controles comunes, contenedores, menús y barras de herramientas,
datos, componentes, informe, todos necesarios para soportar la edición
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
18
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
y generación de eventos para construir una aplicación Windows. Algunos
de los más utilizados son:
3.1.1. Tipos de Controles
Control Descripción Representación
RichTextBox Proporciona entrada de texto
de ediciones avanzadas
como es el formato de
párrafo.
TextBox Permite al usuario editar
texto.
Label Proporciona información de
texto descriptivo en tiempo
de ejecución.
Button Desencadena un evento
cuando el usuario hace clic
sobre él.
CheckBox Permite al usuario
seleccionar o quitar una
opción asociada.
ComboBox Muestra un cuadro de texto
editable con una lista
desplegable de los valores
permitidos.
PictureBox Muestra una imagen
RadioButton Permite al usuario
seleccionar una única opción
dentro de un grupo de
múltiples opciones.
Contenedores
Controles comunes
Control Descripción Representación
Panel Permite agrupar colecciones
de controles.
GroupBox Muestra un marco de
alrededor de un grupo de
controles con un titulo
opcional.
Menus y Barras herramientas
Control Descripción Representación
MenuStrip Permite editar y mostrar un
menú de opciones para la
aplicación.
Datos
Control Descripción Representación
DataGridView Muestra filas y columnas de
datos en una cuadricula que
se puede personalizar,
DataSet Presenta un cache de datos
en memoria
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
19
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Para poder agregar un control a un formulario, se debe tener el formulario
abierto, ubicar el Cuadro de Herramientas (generalmente a la izquierda),
se puede hacer clic en el control que desea agregar y arrastrarlo hasta
el formulario o hacer doble clic sobre el control, de esta última forma
aparecerá automáticamente sobre el espacio del formulario.
3.1.2. Propiedades y eventos de un control
Todos los controles mencionados anteriormente tienen asociados
propiedades y eventos.
Propiedades: Son las características que tiene cada control, y dentro
del entorno de Visual Studio están ubicadas en la barra de herramientas
llamada Propiedades o con acceso rápido seleccionando el control y
presionando F4.
Las propiedades más utilizadas para cada control son:
Propiedad Descripción
Name Nombre utilizado en el código para
identificar el objeto.
Text Texto Asociado al Control
Para el ejemplo que se presenta a continuación en el control Button su
propiedad Name ha sido fijada como BtnAceptar y la propiedad Text
ha sido fijada con el texto Aceptar.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
20
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Eventos: Los eventos son las acciones que se quiere indicar al control que
debe realizar, cada control proporciona múltiples eventos, el más utilizado
es el evento OnClic, el cual se dispara o se genera haciendo doble clic
sobre el control y allí se escriben las instrucciones que debe ejecutar.
Ejemplo y uso de eventos propiedades
En este formulario se han
utilizado los controles
Groupbox (1),
Label (3),
Textbox (2)
Button (1)
Cada uno tiene fijados la
propiedad text con los textos
que se desean visualizar en el
formulario.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
21
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
El evento clic sobre el botón Aceptar
Cuando la aplicación se ejecute y se haga clic sobre el botón aceptar, se
visualiza:
Código del evento clic:
Para lograr esto se incluiría en el evento Onclick del botón el siguiente
fragmento de código:
3.2.	 Identificadores, tipos y palabras reservadas
Variables
Recordemos que cuando se realiza el análisis del problema se identifican los
datos iniciales, estos datos se estructuran o se definen como variables; en
ellas se pueden almacenar valores y son nombradas con identificadores.
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
22
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Tipo de dato y nombre de la
variable.
Asignación de una variable.
Tipos de datos
En la tabla siguiente se proporciona la lista de tipos de datos de C# y sus
alias. Como puede ver, los primeros ocho de estos tipos corresponden a
los tipos primitivos disponibles en Java. Sin embargo, tenga en cuenta
que el tipo boolean de Java se denomina bool en C#.
Nombre corto Clase .NET Tipo Intervalo (bits)
byte Byte Entero sin signo 0 a 255
sbyte SByte Entero con signo -128 a 127
int Int32 Entero con signo -2.147.483.648 a
2.147.483.647
uint UInt32 Entero sin signo 0 a 4294967295
short Int16 Entero con signo -32.768 a 32.767
ushort UInt16 Entero sin signo 0 a 65535
long Int64 Entero con signo -922337203685477508 a
922337203685477507
ulong UInt64 Entero sin signo 0 a
18446744073709551615
float Single Tipo de punto
flotante de precisión
simple
-3,402823e38 a
3,402823e38
double Double Tipo de punto
flotante de precisión
doble
-1,79769313486232e308
a 1,79769313486232e308
char Char Un carácter Unicode Símbolos Unicode
utilizados en el texto
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
23
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
bool Boolean Tipo Boolean lógico True o false
object Object Tipo base de todos
los otros tipos
string String Una secuencia de
caracteres
decimal Decimal Tipo preciso
fraccionario o
integral, que
puede representar
números decimales
con 29 dígitos
significativos
±1.0 × 10e−28 a ±7.9 ×
10e28
Ejemplos:
int edad;
string nombre;
float promedio;
bool asignado;
Casteo o conversión de tipos de datos
En muchas ocasiones es necesario hacer una conversión del tipo de dato,
ya que algunas propiedades establecidas por Visual Studio. Net ya tiene
predefinido el tipo de dato con el que necesitan operar.
Por ejemplo: la propiedad Text, que la tienen la mayoría de los controles,
está definida para operar con tipos de datos String, por tal motivo siempre
que se necesite utilizar esta propiedad siempre se deben utilizar tipos de
datos string.
Conversión Ejemplo
ToString()
Método que permite convertir cualquier
tipo de dato a string
(txtedad.Text).ToString()
Int.Parse()
Método que permite convertir cualquier
tipo de dato a entero.
int.Parse(txtedad.Text);
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
24
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
Float.Parse()
Método que permite convertir cualquier
tipo de dato a flotante (real).
float.Parse(txtedad.Text);
Comentarios
Es fundamental en la fase de codificación la documentación; la cual se
realiza por medio de comentarios, en .net están permitidos los siguientes
tipos de comentarios:
•	 Comentarios de Una sola línea: // comentario en una sola linea
•	 Comentarios de multiples líneas:
*	 /* comentario en una o mas
*	 lineas*/
•	 Comentarios para documentación Automática: ///
Documentación automatica ///
Palabras reservadas
Son conocidas como palabras Clave y son aquellos identificadores
reservados por .Net para un objetivo específico. La tabla que se presenta
a continuación relaciona algunas de las palabras reservadas.
Abstract Bool break string New
Case cast catch class private
Const continue default do short
Else finally false final this
Float for future generic try
If implements import Inner double
Int interface long native
Null operator outer package
Protected public return
Static super switch syncroniced
Throw throws true true
Var void while while
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
25
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
3.3.	 Estructuras algorítmicas en lenguaje c#
Estructura de decisión
Esta estructura es utilizada para tomar decisiones basado en la evaluación
lógica de una condición y determina dos posibles rutas de acción en el
programa.
Representación en diagrama flujo Código lenguaje c#
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
26
Desarrollo de aplicaciones Windows con C# Visual Studio .Net
•	 Estructura repetitiva (Ciclo para)
Representación en diagrama flujo Código lenguaje C#
Ejecución del código
3.4.	 Conexión a base de datos usando ADO.NET
ADO.NET es una evolución de ADO (ActiveX Data Object), es un conjunto
de componentes del software que son utilizados para acceder a los datos
que almacena un Sistema Gestor de Bases de Datos Relacionales y también
a datos no estructurados. Es una parte de la biblioteca de clases base que
están incluidas en el Microsoft .NET Framework.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
1 introduccion.net
1 introduccion.net1 introduccion.net
1 introduccion.net
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
Introducción a la Plataforma .NET
Introducción a la Plataforma .NETIntroducción a la Plataforma .NET
Introducción a la Plataforma .NET
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Visual studio 2010
Visual studio 2010Visual studio 2010
Visual studio 2010
 
michael ascanio
michael ascaniomichael ascanio
michael ascanio
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
Framework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entornoFramework .NET 3.5 01 Conceptos básicos y entorno
Framework .NET 3.5 01 Conceptos básicos y entorno
 
Introduccion a Visual Studio .NET
Introduccion a Visual Studio .NETIntroduccion a Visual Studio .NET
Introduccion a Visual Studio .NET
 
NetBeanside
NetBeansideNetBeanside
NetBeanside
 
Visual basic apesteguia
Visual basic apesteguiaVisual basic apesteguia
Visual basic apesteguia
 
Delphi apesteguia
Delphi apesteguiaDelphi apesteguia
Delphi apesteguia
 
.Net framework
.Net framework.Net framework
.Net framework
 
Tabla comparativa
Tabla comparativaTabla comparativa
Tabla comparativa
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 
Compiladores (python)
Compiladores (python)Compiladores (python)
Compiladores (python)
 
Organización de una aplicación proyectos
Organización de una aplicación proyectosOrganización de una aplicación proyectos
Organización de una aplicación proyectos
 

Ähnlich wie Desarrollo Aplicaciones Windows C

Ähnlich wie Desarrollo Aplicaciones Windows C (20)

Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2Republica bolivariana de venezuela 2
Republica bolivariana de venezuela 2
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
Paola
PaolaPaola
Paola
 
itio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspotitio de realizacion de un blog blogs blogspot
itio de realizacion de un blog blogs blogspot
 
Paola
PaolaPaola
Paola
 
Paola 1001 jt
Paola 1001 jtPaola 1001 jt
Paola 1001 jt
 
C_Basico_Parte_I.pptx
C_Basico_Parte_I.pptxC_Basico_Parte_I.pptx
C_Basico_Parte_I.pptx
 
Programación
ProgramaciónProgramación
Programación
 
Manual visual basic .net
Manual visual basic .net Manual visual basic .net
Manual visual basic .net
 
Introducción a la programación visual
Introducción a la programación visualIntroducción a la programación visual
Introducción a la programación visual
 
Andre.paola9 blos blospot blogger
Andre.paola9 blos blospot bloggerAndre.paola9 blos blospot blogger
Andre.paola9 blos blospot blogger
 
Andre.paola9
Andre.paola9Andre.paola9
Andre.paola9
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Desarrollo de aplicaciones .net
Desarrollo de aplicaciones .netDesarrollo de aplicaciones .net
Desarrollo de aplicaciones .net
 
Framework .net
Framework .netFramework .net
Framework .net
 
Introduccion net
Introduccion netIntroduccion net
Introduccion net
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 
Trabajo gru
Trabajo gruTrabajo gru
Trabajo gru
 
Vbnetclass
VbnetclassVbnetclass
Vbnetclass
 

Desarrollo Aplicaciones Windows C

  • 1. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje DESARROLLO APLICACIONES WINDOWS EN C# USANDO VISUAL STUDIO .NET Estructura de contenidos INTRODUCCIÓN........................................................................3 1. INTRODUCCIÓN A VISUAL STUDIO .NET...................................3 1.2. Características principales....................................................4 1.3. Arquitectura Framework de .Net............................................5 2. PROGRAMACIÓN ORIENTADA A OBJETOS .................................8 2.1. Conceptos que maneja la POO..............................................8 2.2. Conceptos de programación orientada a objetos con C# .........10 2.3. Ejemplo de declaración de una clase en c#.............................13 3. DESARROLLO DE APLICACIONES WINDOWS FORMS...................17 3.1. Controles...........................................................................17 3.2. Identificadores, tipos y palabras reservadas............................21 3.3. Estructuras algorítmicas en lenguaje c#.................................25 3.4. Conexión a base de datos usando ADO.NET............................26 4. Desarrollo de una aplicación C# bajo una Arquitectura 3 capas....28 4.1. Arquitectura de la aplicación.................................................30 4.2. Creación de la Interfaz gráfica de usuario (GUI).....................30 4.3. Creación de la Vista lógica....................................................33 4.4. Creación de la Vista de Datos...............................................35 GLOSARIO................................................................................37 BIBLIOGRAFÍA..........................................................................38
  • 2. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 2 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Mapaconceptual DESARROLLOAPLICACIONESWINDOWSENC#USANDO VISUALSTUDIO.NET
  • 3. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 3 Desarrollo de aplicaciones Windows con C# Visual Studio .Net INTRODUCCIÓN Visual Studio .Net es un Entorno de Desarrollo Integrado (IDE) que permite desarrollar múltiples aplicaciones, orientadas a utilizar el Paradigma Orientado a Objetos usando lenguages de programación como Visual.net, C# y ASPX. Uno de los tipos de aplicaciones que se puede desarrollar son las aplicaciones para escritorio, llamadas comúnmente “WindowsForms” (Formularios para Sistema Operativo Windows). El paradigma orientado a objetos es una forma de programar más cercano a la realidad, de tal manera que utiliza conceptos tales como objetos, mensajes, métodos, herencia y polimorfismo. Todo lo anterior se desarrolla dentro de este objeto de aprendizaje para que pueda crear una aplicación Windows Forms usando el lenguaje de programación C# y que utilice el concepto de programación orientado a objetos. 1. INTRODUCCIÓN A VISUAL STUDIO .NET Microsoft Visual Studio .NET es una plataforma que permite ejecutar y desarrollar aplicaciones, soluciones informáticas y/o sistemas de información, brindando todas las herramientas y servicios necesarios para desarrollar modernas aplicaciones empresariales. 1.1. Componentes Microsoft Visual Studio .Net tiene los siguientes componentes principales: • Entorno de ejecución aplicaciones, “Runtime” el cual es un componente de software cuya función es la de ejecutar las aplicaciones .NET e interactuar con el sistema operativo ofreciendo sus servicios y recursos. • Conjunto de bibliotecas de funcionalidades y controles reutilizables, con una enorme cantidad de componentes ya programados listos para ser consumidos por otras aplicaciones. • Conjunto de lenguajes de programación de alto nivel, junto con sus compiladores y linkers, que permitirán el desarrollo de aplicaciones sobre la plataforma .NET. • Conjunto de utilitarios y herramientas de desarrollo para simplificar las tareas más comunes del proceso de desarrollo de aplicaciones
  • 4. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 4 Desarrollo de aplicaciones Windows con C# Visual Studio .Net • Documentación y guías de arquitectura, que describen las mejores prácticas de diseño, organización, desarrollo, prueba e instalación de aplicaciones .NET 1.2. Características principales • Es una plataforma de ejecución intermedia, ya que las aplicaciones de Visual Studio.NET no son ejecutadas directamente por el sistema operativo, como ocurre en el modelo tradicional de desarrollo. Las aplicaciones .NET están diseñadas para ser ejecutadas con un componente de software llamado Entorno de Ejecución (conocido como “Runtime”, o “Máquina Virtual”). El cual es el encargado de manejar el ciclo de vida de cualquier aplicación de Visual Studio .NET, iniciándola, deteniéndola e interactuando con el sistema operativo y brindándole los servicios y recursos en tiempo de ejecución. • Visual Studio .NET está basada en el paradigma de Orientación a Objetos • Visual Studio .NET es multi-lenguaje: lo cual significa que para codificar aplicaciones sobre esta plataforma no se necesita aprender un único lenguaje específico de programación de alto nivel, sino que se puede elegir de una amplia lista de opciones. • Tanto como desarrolladores no profesionales, estudiantes y entusiastas, utilizan esta herramienta, pero Visual Studio .Net esta desarrollado para poder soportar las aplicaciones empresariales grandes y complejas y de misión critica. • Visual Studio .Net es una plataforma desarrollada por Microsoft y para poder desarrollar o comercializar aplicaciones empresariales debe comprar la licencia, pero para fines académicos puede utilizarse siempre y cuando las aplicaciones desarrolladas no se comercialicen. • Visual Studio Net está diseñado de tal manera que en un único modelo de programación, uniforme y consistente se desarrollen las aplicaciones (ya sean de formularios Windows, de consola, aplicaciones Web, aplicaciones móviles, etc.) y para cualquier dispositivo de hardware (PC’s, Pocket PC’s, Teléfonos Celulares Inteligentes, también llamados “SmartPhones”, Tablet PC’s, etc.). • Visual Studio .NET se integra fácilmente con aplicaciones desarrolladas en otras plataformas Microsoft y también con aquellas desarrolladas en otras plataformas de software, sistemas operativos o lenguajes de programación.
  • 5. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 5 Desarrollo de aplicaciones Windows con C# Visual Studio .Net 1.3. Arquitectura Framework de .Net El Framework de .Net (“Marco de Trabajo”) es el componente fundamental de la plataforma Microsoft Visual Studio.NET que permite ejecutar las aplicaciones desarrolladas. Se tienen tres componentes principales: .NET Framework Redistributable Package: Mínimo componente de la plataforma .NET necesario para poder ejecutar aplicaciones. Normalmente se instala en los entornos productivos, una vez que el desarrollo y las pruebas de la aplicación han finalizado. Está compuesto por: • El entorno de ejecución de la plataforma .NET • Las bibliotecas de funcionalidad reutilizable .NET Framework SDK: Contiene las herramientas de desarrollo de línea de comandos (compiladores, depuradores, etc.), documentación de referencia, ejemplos y manuales para desarrolladores de aplicaciones. Se instala en los y es más útil a los programadores que para los usuarios finales. Para poder instalar la versión SDK (Software Development Kit) es necesario instalar previamente el Redistributable Package. .NET Compact Framework: Versión reducida .NET Framework Redistributable, especialmente pensada para ser instalada en dispositivos móviles como Pocket PC’s y SmartPhones. 1.3.1. Componentes de la arquitectura Los componentes de la arquitectura del framework de .Net se pueden apreciar en la siguiente figura:
  • 6. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 6 Desarrollo de aplicaciones Windows con C# Visual Studio .Net VB ASP.NET Windows COM + Services ADO.NET y XML Base Class Library Common Lenguage Runtime Windows Forms Common Lenguage Specification C++ C# J# ... .NETFramework Redistributable .NET Framework SDK .NET Framework Class Library } CLR-Common Language Runtime (color verde): Es conocido como el entorno de ejecución de aplicaciones, y es el encargado de ejecutar las aplicaciones y proveerles servicios en tiempo de ejecución. Class library (color azul): Es conocido como el conjunto de bibliotecas que provee muchos tipos básicos (clases e interfaces) orientados a objetos, extensibles mediante herencia, independientes del lenguaje de programación de alto nivel que se esté utilizando y que se encuentran organizados en namespaces jerárquicos. En la siguiente figura se aprecian los principales namespaces de la biblioteca de clases .NET: • System: raíz de todos los otros namespaces, y dentro del cual se pude encontrar la mayoría de los namespaces correspondientes a la Base Class Library • System.Data y System.Xml: Constituyen la tecnología conocida como ADO.NET, la cual se usa para acceso a datos. • System.Web: Se encuentran todos los tipos necesarios para programar aplicaciones y servicios web ASP.NET • System.Windows.Forms: Se encuentran todos los tipos necesarios para programar aplicaciones de escritorio basadas en formularios y ventanas Windows.
  • 7. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 7 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Dentro de este componentes se tienen 4 sub-componentes principales: • La Base Class Library (BCL - Biblioteca de Clases Base): La cual contiene la funcionalidad que más se utiliza para desarrollar aplicaciones tales como el manejo de colecciones, cadenas de texto, entrada/salida, threading, operaciones matemáticas y dibujos 2D. • ADO.NET: Contiene el conjunto de clases que permiten interactuar con bases de datos relacionales y documentos XML como repositorios de información persistente. • ASP.NET: Es la tecnología necesaria del .NET Framework para construir aplicaciones con interfaz de usuario Web (es decir, aplicaciones cuya lógica se encuentra centralizada en uno o varios servidores y que los clientes pueden acceder usando un browser o navegador mediante una serie de protocolos y estándares como HTTP y HTML). • Windows Forms (WinForms): Es la tecnología necesaria.NET Framewok que permite crear aplicaciones con interfaz de usuario basada en formularios y ventanas Windows y que se ejecutan directamente en los clientes. Especificación de Lenguaje Común -CLS (color rojo): Uno de los principales objetivos del diseño de la plataforma de Visual Studio .NET fue el de que el lenguaje de programación elegido fuera independiente. Para esto se creó este componente que define y estandariza un subconjunto de todas las características soportadas por el CLR y que son necesarias en la mayoría de las aplicaciones. Todos los componentes desarrollados y compilados de acuerdo con la especificación CLS pueden interactuar entre sí, independientemente del lenguaje de programación de alto nivel en el que fueron escritos. El Framework de .Net provee implementaciones de 4 lenguajes compatibles con CLS, junto con sus compiladores: * Microsoft Visual Basic .NET * Microsoft Visual C# .NET * Microsoft Visual J#.NET * Microsoft Visual C++.NET Esto quiere decir que una aplicación escrita, por ejemplo, en Visual Basic. NET, puede incorporar sin problemas nuevas partes escritas en C# o C++ .NET.
  • 8. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 8 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Todos los componentes mencionados anteriormente se montan por encima de la familia de sistemas operativos Windows. 2. PROGRAMACIÓN ORIENTADA A OBJETOS La programación orientada a objetos (POO) es una forma especial de programar muy cercana a la forma como se pueden expresar las cosas en la vida real, a diferencia de otros tipos de programación. Según Grady Booch, el autor del método de diseño orientado a objetos, define la POO como “un método de implementación en el que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representan una instancia de alguna clase, y cuyas clases son todas miembros de una jerarquía de clase unida mediante relaciones de herencia”. 2.1. Conceptos que maneja la POO La programación orientada a objetos incluye los conceptos de objetos, clases, atributos, métodos, herencia y polimorfismo. De tal manera que todos ellos se incluyen para desarrollar un programa con este paradigma. Existen tres partes importantes en la definición de programación orientada a objetos: Según Booch, todos los objetos tienen 3 características principales que son: • Todos los objetos tienen un Estado, Comportamiento e identidad. • Cada objeto es una instancia de una clase. • Las clases se relacionan unas con otras por medio de relaciones de herencia. Un programa puede parecer orientado a objetos, pero si cualquiera de estos elementos no existe, no es un programa orientado a objetos. La programación sin herencia se denomina programación por tipos abstractos de datos. Como se piensa en objetos
  • 9. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 9 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Pensar en objetos incluye cuatro elementos fundamentales en el modelo orientado a objetos, cada uno requiere una forma distinta de pensar en el problema, los cuales son la abstracción, encapsulamiento, polimorfismo, modularidad y jerarquía. ABSTRACCIÓN ENCAPSULAMIENTO MODULARIDAD POLIMORFISMO JERARQUÍA OTRAS MODULARIDAD: Fragmentar un programa en componentes individuales reduce su complejidad en algún grado.
  • 10. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 10 Desarrollo de aplicaciones Windows con C# Visual Studio .Net ABSTRACCIÓN: Representación de las características esenciales de algo sin incluir detalles irrelevantes. ENCAPSULAMIENTO: Incluir en un objeto lo necesario de forma que ningún otro objeto tenga que conocer su estructura interna. JERARQUÍA: Mecanismo para compartir automáticamente métodos y atributos entre clases y subclases. POLIMORFISMO: Implementar múltiples formas un mismo método. OTRAS: Concurrencia, Persistencia, Genericidad, Manejo de excepciones. 2.2. Conceptos de programación orientada a objetos con C# A continuación se explica cada uno de los conceptos que implementa la programación orientada a objetos en el lenguaje de programación C#, tales como clases, objetos, mensajes y métodos, herencia y polimorfismo. Se presenta a continuación el 2.2.1. Declaración de una Clase En términos de programación una clase es una estructura que contiene datos y procedimientos (funciones) que son capaces de operar sobre esos datos, una clase consta de una declaración de la clase, donde se listan los atributos (datos) de una clase y una implementación, donde se definen las funciones (métodos) de la clase. Para construir un programa orientado a objetos se debe: 1. Identificar las clases que tendrá el sistema a construir. 2. Para cada clase identificar los atributos. 3. Para cada clase identificar los métodos. 4. Crear los objetos de cada clase para acceder a los métodos y atributos.
  • 11. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 11 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Una clase en lenguaje C#, debe ser declarada antes de ser utilizada, el formato de declaración de una clase contiene el nombre de la clase y el cuerpo. Class Nombre{ //cuerpo de la clase Private: //miembros privados Public: //miembro públicos Protected: //miembros protegidos } Mensajes y Métodos En las clases se pueden identificar distintas categorías de métodos: • Métodos inicializadores: inicializan atributos. • Métodos accesores: devuelven el contenido de los atributos (cada accesor devuelve un atributo). Llamados también métodos get. • Métodos mutadores: establecen el contenido de los atributos, llamados también métodos set. • Métodos visualizadores: muestran el objeto (valores de los atributos o alguna representación visual del objeto). • Métodos computadores: realizan cálculos y generan resultados.
  • 12. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 12 Desarrollo de aplicaciones Windows con C# Visual Studio .Net 2.2.2. Métodos privados, públicos y protegidos (niveles de acceso) En el lenguaje C# se definen las siguientes palabras reservadas para declarar la accesibilidad (o el nivel de acceso) de los métodos y atributos en una clase: • Public: Indica que se puede tener acceso libre tanto a las variables y funciones miembro de la clase. • Private: Juega un papel parecido al de una variable local en una función, solo puede tener acceso a los atributos privados, las funciones miembro de dicha clase, así mismo una variable local sólo está disponible en el interior de la función. • Protected: Permite a las clases derivadas acceder a los atributos de su clase base. Por defecto todos los miembros de una clase son privados, a menos que se especifique le contrario. Class Nombre{ Private: datos miembro Public: acceso a la clase funciones miembro Acceso del usuario de la clase A través de los objetos de una clase se puede acceder (con el operador •) a lo que esté declarado como público en la clase, lo privado sólo puede ser accedido directamente dentro de la clase. Los atributos deben estar ocultos (ser privados) aunque (C# permite declarar atributos públicos, lo correcto es que los atributos sean privados), los métodos se implementan con funciones miembro.
  • 13. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 13 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Reglas de visibilidad. Sección privada: solamente las funciones miembro de la clase pueden acceder a los miembros privados. Las instancias de la clase no pueden acceder a los miembros privados. Sección protegida: solamente la función miembro de la clase y sus clases descendientes pueden acceder a miembros protegidos. Las instancias de la clase no pueden acceder a miembros protegidos. Sección pública: Los miembros específicos que son visibles a las funciones miembro de la clase, instancias de la clase, funciones miembro de clases descendientes y sus instancias. 2.3. Ejemplo de declaración de una clase en c# Es de recordar que el nombre de la clase debe ser representativo de lo que se quiere modelar, es decir si se tiene la abstracción de almacenar un punto para luego dibujar una figura, la clase se debería llamar Punto. Propiedades En Visual Studio .Net se pueden crear propiedades para cada uno de los atributos que se crean para la clase, de tal manera que se puede acceder y modificar los valores de estos atributos; cabe anotar que cuando se crea una clase con propiedades, los métodos accesores y mutadores son reemplazados, por ejemplo:
  • 14. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 14 Desarrollo de aplicaciones Windows con C# Visual Studio .Net -class-punto -{ -----private-float-Posy; -----private-float-Posy; -----public-void-inicializar(){ ---------Posy-=-0; ---------Posy-=-0; -----} -----public-float-X-{- ---------set{Posx=value;} ---------get{return-Posx;} -----}----- -----public-float-Y-{- ---------set{Posy=value;} ---------get{return-Posy;} -----} -----public-void-dibujar(); -} - atributos inicializador propiedades lógica En el ejemplo anterior las propiedades se realizan para los atributos Posx, Posy y para cada uno de ellos se realiza su accesor (set), y modificador (get). Más adelante se revisa cómo utilizar las propiedades en una aplicación WindowsForms. Objetos Recordemos que, según las definiciones formales de James Rumbaugh y Grady Booch, un objeto es: “Una abstracción de la realidad que tiene un significado concreto y claro para el problema que se está modelando”. Una vez creada la clase, junto con los métodos y/o propiedades, atributos se procede a crear y declarar los objetos. Un objeto se declara de la siguiente forma: Punto objpunto; // el objeto llamado objpunto es de la clase Punto
  • 15. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 15 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Los objetos se pueden crear estáticos, objetos que se declaran al principio de un programa y permanecen hasta que el programa se termina; o dinámicos, objetos que crean y destruyen en la medida que se necesitan. Cuando el compilador encuentra la declaración de un objeto, asigna una ubicación de memoria para almacenar los datos del “punto” tales como la posición en x y en Y. Para crear un objeto en visual Studio .Net con lenguaje C# se hace de la siguiente manera Persona objpersonal; Nombre de la clase Nombre del objeto Ejemplos * Ejemplo Clase Estudiante1 En la siguiente porción de código puede observar cómo se crea la clase Estudiante haciendo uso de los métodos accesores y modificadores. class Estudiante { #region “Atributoss” private string nombre; #endregion #region “Metodos” ///<summary> ///Se asignara al atributo nombre un nombre ///enviado como parametro ///</sumary> ///<param name=”name”> parametro que establecera un dato de tipo ///string para asignacion al atributo nombre</param> public void asignarNombres(string name) {
  • 16. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 16 Desarrollo de aplicaciones Windows con C# Visual Studio .Net nombre=name; } ///<summary> ///Metodo para obtener el nombre asignado ///al atributo nombre ///</summary> ///<returns>es el nobre (string) del atributo nombre </returns> public string obtenerNombre() { return nombre; } #endregion } * Ejemplos Clase Estudiante2 En la siguiente porción de código puede observar cómo se crea la clase Estudiante haciendo uso de propiedades. class Estudiante { #region “Atributoss” /// <sumary> /// Atributo nombre para almacenar los nombres /// de los estudiantes. /// </sumary> private string nombre; #endregion #region “Propiedades” ///<summary> ///Propiedad para acceder al atributo nombre ///u obtener el nombre de un estudiante ///</sumary> public string Nombre{ // modificador set{nombre=value;} // accesor get{return nombre;} } #endregion }
  • 17. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 17 Desarrollo de aplicaciones Windows con C# Visual Studio .Net 3. DESARROLLO DE APLICACIONES WINDOWS FORMS Para construir una aplicación que resuelva un problema o una necesidad en una empresa u organización, no basta con la creación de las clases y aplicar los conceptos del paradigma orientado a objetos. Es necesario crear la interfaz de usuario que permitirá que el cliente finalmente pueda utilizar la aplicación desarrollada y la persistencia (acceso a los datos), para el almacenamiento de los datos. Las clases proporcionadas por el framework .NET incluyen una gran cantidad para la creación y administración de aplicaciones Windows. Todos los controles necesarios para desarrollar este tipo de aplicaciones los provee el NameSpace System.Windows.Forms. Un namespace es una estructura organizacional de funcionalidades tales como clases, funciones, tipos de datos, etc. relacionados entre sí y agrupados bajo una denominación común. Al crear un proyecto de aplicación Windows, además de generarse automáticamente un formulario por defecto, se crean una serie de archivos y clases que complementan la aplicación. Entre ellos están: • Program.cs (o .vb): Contiene una clase estática (Program) con un método Main() que constituye el punto de entrada de la aplicación. • AssemblyInfo.cs (o .vb): Es parte de cada proyecto y sirve para personalizar datos importantes acerca del ensamblado (Assembly). • Settings.cs (o .vb): Es el encargado del acceso a la configuración de usuario de la aplicación (se profundizará más adelante en esta presentación). • References: Por defecto ya se incluyen algunas referencias a otros assemblies de .NET. Desde esta carpeta se pueden agregar o quitar las que se requieran para el caso particular. 3.1. Controles Para poder crear las interfaces de usuario, Visual Studio .Net maneja diferentes tipos de controles tales como: Controles comunes, contenedores, menús y barras de herramientas, datos, componentes, informe, todos necesarios para soportar la edición
  • 18. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 18 Desarrollo de aplicaciones Windows con C# Visual Studio .Net y generación de eventos para construir una aplicación Windows. Algunos de los más utilizados son: 3.1.1. Tipos de Controles Control Descripción Representación RichTextBox Proporciona entrada de texto de ediciones avanzadas como es el formato de párrafo. TextBox Permite al usuario editar texto. Label Proporciona información de texto descriptivo en tiempo de ejecución. Button Desencadena un evento cuando el usuario hace clic sobre él. CheckBox Permite al usuario seleccionar o quitar una opción asociada. ComboBox Muestra un cuadro de texto editable con una lista desplegable de los valores permitidos. PictureBox Muestra una imagen RadioButton Permite al usuario seleccionar una única opción dentro de un grupo de múltiples opciones. Contenedores Controles comunes Control Descripción Representación Panel Permite agrupar colecciones de controles. GroupBox Muestra un marco de alrededor de un grupo de controles con un titulo opcional. Menus y Barras herramientas Control Descripción Representación MenuStrip Permite editar y mostrar un menú de opciones para la aplicación. Datos Control Descripción Representación DataGridView Muestra filas y columnas de datos en una cuadricula que se puede personalizar, DataSet Presenta un cache de datos en memoria
  • 19. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 19 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Para poder agregar un control a un formulario, se debe tener el formulario abierto, ubicar el Cuadro de Herramientas (generalmente a la izquierda), se puede hacer clic en el control que desea agregar y arrastrarlo hasta el formulario o hacer doble clic sobre el control, de esta última forma aparecerá automáticamente sobre el espacio del formulario. 3.1.2. Propiedades y eventos de un control Todos los controles mencionados anteriormente tienen asociados propiedades y eventos. Propiedades: Son las características que tiene cada control, y dentro del entorno de Visual Studio están ubicadas en la barra de herramientas llamada Propiedades o con acceso rápido seleccionando el control y presionando F4. Las propiedades más utilizadas para cada control son: Propiedad Descripción Name Nombre utilizado en el código para identificar el objeto. Text Texto Asociado al Control Para el ejemplo que se presenta a continuación en el control Button su propiedad Name ha sido fijada como BtnAceptar y la propiedad Text ha sido fijada con el texto Aceptar.
  • 20. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 20 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Eventos: Los eventos son las acciones que se quiere indicar al control que debe realizar, cada control proporciona múltiples eventos, el más utilizado es el evento OnClic, el cual se dispara o se genera haciendo doble clic sobre el control y allí se escriben las instrucciones que debe ejecutar. Ejemplo y uso de eventos propiedades En este formulario se han utilizado los controles Groupbox (1), Label (3), Textbox (2) Button (1) Cada uno tiene fijados la propiedad text con los textos que se desean visualizar en el formulario.
  • 21. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 21 Desarrollo de aplicaciones Windows con C# Visual Studio .Net El evento clic sobre el botón Aceptar Cuando la aplicación se ejecute y se haga clic sobre el botón aceptar, se visualiza: Código del evento clic: Para lograr esto se incluiría en el evento Onclick del botón el siguiente fragmento de código: 3.2. Identificadores, tipos y palabras reservadas Variables Recordemos que cuando se realiza el análisis del problema se identifican los datos iniciales, estos datos se estructuran o se definen como variables; en ellas se pueden almacenar valores y son nombradas con identificadores.
  • 22. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 22 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Tipo de dato y nombre de la variable. Asignación de una variable. Tipos de datos En la tabla siguiente se proporciona la lista de tipos de datos de C# y sus alias. Como puede ver, los primeros ocho de estos tipos corresponden a los tipos primitivos disponibles en Java. Sin embargo, tenga en cuenta que el tipo boolean de Java se denomina bool en C#. Nombre corto Clase .NET Tipo Intervalo (bits) byte Byte Entero sin signo 0 a 255 sbyte SByte Entero con signo -128 a 127 int Int32 Entero con signo -2.147.483.648 a 2.147.483.647 uint UInt32 Entero sin signo 0 a 4294967295 short Int16 Entero con signo -32.768 a 32.767 ushort UInt16 Entero sin signo 0 a 65535 long Int64 Entero con signo -922337203685477508 a 922337203685477507 ulong UInt64 Entero sin signo 0 a 18446744073709551615 float Single Tipo de punto flotante de precisión simple -3,402823e38 a 3,402823e38 double Double Tipo de punto flotante de precisión doble -1,79769313486232e308 a 1,79769313486232e308 char Char Un carácter Unicode Símbolos Unicode utilizados en el texto
  • 23. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 23 Desarrollo de aplicaciones Windows con C# Visual Studio .Net bool Boolean Tipo Boolean lógico True o false object Object Tipo base de todos los otros tipos string String Una secuencia de caracteres decimal Decimal Tipo preciso fraccionario o integral, que puede representar números decimales con 29 dígitos significativos ±1.0 × 10e−28 a ±7.9 × 10e28 Ejemplos: int edad; string nombre; float promedio; bool asignado; Casteo o conversión de tipos de datos En muchas ocasiones es necesario hacer una conversión del tipo de dato, ya que algunas propiedades establecidas por Visual Studio. Net ya tiene predefinido el tipo de dato con el que necesitan operar. Por ejemplo: la propiedad Text, que la tienen la mayoría de los controles, está definida para operar con tipos de datos String, por tal motivo siempre que se necesite utilizar esta propiedad siempre se deben utilizar tipos de datos string. Conversión Ejemplo ToString() Método que permite convertir cualquier tipo de dato a string (txtedad.Text).ToString() Int.Parse() Método que permite convertir cualquier tipo de dato a entero. int.Parse(txtedad.Text);
  • 24. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 24 Desarrollo de aplicaciones Windows con C# Visual Studio .Net Float.Parse() Método que permite convertir cualquier tipo de dato a flotante (real). float.Parse(txtedad.Text); Comentarios Es fundamental en la fase de codificación la documentación; la cual se realiza por medio de comentarios, en .net están permitidos los siguientes tipos de comentarios: • Comentarios de Una sola línea: // comentario en una sola linea • Comentarios de multiples líneas: * /* comentario en una o mas * lineas*/ • Comentarios para documentación Automática: /// Documentación automatica /// Palabras reservadas Son conocidas como palabras Clave y son aquellos identificadores reservados por .Net para un objetivo específico. La tabla que se presenta a continuación relaciona algunas de las palabras reservadas. Abstract Bool break string New Case cast catch class private Const continue default do short Else finally false final this Float for future generic try If implements import Inner double Int interface long native Null operator outer package Protected public return Static super switch syncroniced Throw throws true true Var void while while
  • 25. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 25 Desarrollo de aplicaciones Windows con C# Visual Studio .Net 3.3. Estructuras algorítmicas en lenguaje c# Estructura de decisión Esta estructura es utilizada para tomar decisiones basado en la evaluación lógica de una condición y determina dos posibles rutas de acción en el programa. Representación en diagrama flujo Código lenguaje c#
  • 26. FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje 26 Desarrollo de aplicaciones Windows con C# Visual Studio .Net • Estructura repetitiva (Ciclo para) Representación en diagrama flujo Código lenguaje C# Ejecución del código 3.4. Conexión a base de datos usando ADO.NET ADO.NET es una evolución de ADO (ActiveX Data Object), es un conjunto de componentes del software que son utilizados para acceder a los datos que almacena un Sistema Gestor de Bases de Datos Relacionales y también a datos no estructurados. Es una parte de la biblioteca de clases base que están incluidas en el Microsoft .NET Framework.