namespace

Anuncio
PROGRAMACIÓN III
Agenda
• .NET
• C#
• Laboratorio #1
.NET
• ¿Qué es .NET?
– Una arquitectura tecnológica para la creación y
distribución de software como servicio.
– Servicio en cualquier plataforma, cliente en cualquier
dispositivo, programación en cualquier lenguaje,
integración basada en estándares.
• ¿Qué incluye?
– .NET Framework, infraestructura para la creación y
ejecución de las aplicaciones.
– Visual Studio .NET, entorno de desarrollo integrado
(IDE).
– Otros servicios.
.NET: Características
La Plataforma .NET consiste de un Lenguaje Común en Tiempo
de Ejecución (CLR) y la Biblioteca de Clases de la Plataforma
.NET algunas veces llamada la Biblioteca de Clases Base (CBL).
El CLR es como una máquina virtual (el código que corre
dentro del CLR en ejecución en un ambiente encapsulado y
controlado, separados de otros procesos en la máquina) en la
cual funcionan las aplicaciones .NET, todos los lenguajes .NET
tienen la biblioteca de clases de la Plataforma .NET a su
disposición.
La biblioteca de clases de la Plataforma .NET incluyen soporte
para cualquiera de los archivos de entrada/salida y base de
datos de entrada/salida para XML y SOAP.
.NET: Estándares
• Basado en estándares
– XML (XML Schemas, Xpath, XSLT)
– Servicios Web
– SOAP (Simple Object Access Protocol)
– UDDI (Universal Description, Discovery &
Integration)
– WSDL (Web Service Description Language)
– Lenguaje intermedio común CIL
– Lenguaje de programación C#
Tipos de aplicaciones
Aplicaciones
normales:
De consola
Windows Service (no interactiva)
Windows Form (interactiva)
Windows Control Library (biblioteca de controles)
Aplicaciones
para la web:
Web Application (aplicación web cliente-servidor)
XML Web Service (servicio web)
C#
• Descendiente directo de C/C++ y Java
• Desarrollado por Microsoft por une quipo
dirigido por Andres Helsberj y Scott Wiltamuth
• Año2000. Microsoft presenta su plataforma
.NET junto con un nuevo lenguaje, C#
• C# se estandariza en diciembre de 2002.
Estándar ECMA-334: Especificación del
Lenguaje C#.
C#
La Plataforma .NET provee un colector de basura que es responsable de administrar la memoria
en los programas C#.
El manejo de errores está basado en excepciones.
Soporta los conceptos como encapsulación, herencia y polimorfismo de la programación
orientada a objetos.
No existen funciones globales, variables o constantes. Todo deber ser encapsulado dentro de la
clase, como un miembro de la instancia o un miembro estático.
Soporta los modificadores de acceso private, protected, public y agrega un cuarto modificador
internal.
No es posible utilizar variables no inicializadas.
Permite acceder a diferentes APIs a través de .NET Common Language Specification, el cual
define el estádar de interoperabilidad entre lenguajes que se adhieran a este estándar.
Por default el código es safe mode, pero es posible declarar clases o sólo métodos unsafe, esta
declaración permite utilizar apuntadores, estructuras y almacenamiento de arreglos estáticos.
C# depende del runtime que provee la Plataforma .NET, el runtime administra la ejecución de
código.
C#: Conceptos
• Módulo
– Es un componente de una aplicación .NET (Clase o
conjunto de éstas)
• Assembly
– Es el resultado de la construcción del sistema
(.exe, .dll)
• Aplicación
– Sistema resultante encapsulado en un assembly
C#: Conceptos
•
Namespace
– Los nombres de espacio namespace en el
runtime .NET son utilizados para organizar las
clases y otros tipos en una estructura
jerarquica. El propósito del uso de namespace
es hacer las clases fáciles de usar y prevenir
colisiones con las clases escritas por otros
programadores.
– Los namespace en C# se utilizan para
organizar programas y la jerarquía natural de
la organización facilita presentar los
elementos de un programa a otros
programas.
– Un namespace contiene tipos que pueden ser
utilizados en la construcción de programas:
clases, estructuras, enumeraciones,
delegados e interfaces, por ejemplo para
poder escribir a la consola se utiliza el
namespace System.
– No es obligatorio jerarquizar los namespace
pero es una buena práctica organizar los
namespace creados de manera jerárquica
para dar claridad a la aplicación.
C#: Ejemplos
• Hola mundo
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
using System;, define el namespace System, el cual
contiene entre otras la clase Console la cual es
utilizada para comunicarse con la línea de
comandos.
using permite al usuario omitir el namespace al
utilizar el tipo al que es referenciado en este caso
System, por lo que en vez de escribir:
System.Console.WriteLine();
Solamente se escribe:
Console.WriteLine();
using no puede ser utilizado con un nombre de
clase por lo que no es permitido escribir using
System.Console
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
}
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class holamundo
{
}
}
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class holamundo
{
public static void Main(string[] args)
{
}
}
}
C#: Ejemplos
• Hola mundo
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
{
class holamundo
{
public static void Main(string[] args)
{
string nombre;
Console.WriteLine("Introduce tu nombre ");
nombre = Console.ReadLine();
Console.WriteLine("¡Hola {0}!", nombre);
}
}
}
C#: Ejemplos
• Números positivos
C#: Ejemplos
• Números positivos
using System;
using System.Collections.Generic;
using System.Text;
namespace NUMEROS_POSITIVOS
{
class Program
{
static void Main(string[] args)
{
int numero;
Console.WriteLine("Introduce un número ");
numero = Int32.Parse(Console.ReadLine());
if (numero < 0)
Console.WriteLine("El número es negativo.");
else
Console.WriteLine("El número es positivo.");
}
}
}
C#: Ejemplos
• Múltiplo de 5
C#: Ejemplos
• Múltiplo de 5
using System;
using System.Collections.Generic;
using System.Text;
namespace MULTIPLO_DE_5
{ class Program
{ static void Main(string[] args)
{
int numero;
Console.WriteLine("Introduce un número ");
numero = Int32.Parse(Console.ReadLine());
if (multiplo5(numero)) Console.WriteLine("Es múltiplo de 5");
else Console.WriteLine("No es múltiplo de 5");
}
public static bool multiplo5(int numero)
{
if ((numero % 5) != 0) return false;
else return true;
}
}
}
C#: Ejemplos
• Tablas de multiplicar
C#: Ejemplos
• Tablas de multiplicar
using System;
using System.Collections.Generic;
using System.Text;
namespace TABLAS_DE_MULTILPLICAR
{
class Program
{
static void Main(string[] args)
{
for(int i =0; i <= 10; i++)
{
Console.WriteLine("Tabla del número {0}", i);
for(int j =0; j <= 10; j++)
{ Console.WriteLine("{0} x {1} = {2}", i,j,i*j); }
}
}
}
}
Descargar