SlideShare una empresa de Scribd logo
1 de 18
Microsoft

    Visual Studio .Net 2005



Introduccion Visual C#.Net
Introduccion a Visual C#.Net

   Sistemas de Tipos
   Clases y Estructuras
   Manejo de Excepciones
Introduccion a Visual C#.Net

    Sistemas de Tipos
      •   Tipos primitivos
      •   Variables y constantes
      •   Arrays (matrices)

    Clases y Estructuras
    Manejo de Excepciones
Tipos Primitivos

Tipos de datos definidos en .NET Framework y los alias utilizados en Visual C# 2005.
Variables y Constantes

Las constantes son valores que nunca cambian y pueden ser de dos tipos:
  0.1416; // constante literal
  const double iva = 0.12; //constante con nombre

En Visual C# 2005, en las variables en siempre se indican el tipo de datos que tendrá
  string saludo = “hola mundo”;
  int a, b, c;   //declaracion de multiples variables
  double x=0.10, y=0.20, z=0.30 ; //declaracion y asignacion de variables


Las cadenas de caracteres en C#, se definen indicando la cadena entre comillas dobles
  string s1 = "Hola, ";
  s1 = s1 + "mundo";

  // StringBuilder deberíamos usarla enconcatenaciones o uniones de cadenas
  StringBuilder sb = new StringBuilder();
  sb.Append("Hola, ");
  sb.Append("mundo");
Arrays y Matrices
Los arrays se definen indicando un par de corchetes en el tipo de datos
   int[ ] numeros; // un array se declara con el tipo de dato seguido de [ ]
   Numeros = new int[4]; //indica el numero de elementos que tendra el array

   int[ ] num2 = new int[3];

El índice inferior será cero y el índice superior será uno menos del número de elementos
  num2[0] = 3; //usamos los corchetes y la posición en la que queremos guardar
  num2[1] = 22;

Para recorrer los elementos de un array podemos hacerlo de las siguientes formas
  for (int i = 0; i < num2.Length; i++)
  {
       Console.WriteLine(num2[i]);
  }

  foreach(int i in num2)
  { Console.WriteLine(i); }
Arrays y Matrices
Declarar arrays e inicializarlos al mismo tiempo, aunque la sintaxis es un poco distinta,
ya que en esta ocasión debemos indicar varios valores después de definir el array
   string[ ] nombres = {"Pepe", "Juan", "Luisa"};

   string[,] nombres = { { "Juan", "Pepe" }, { "Ana", "Eva" } };
   // en este código tendríamos un array bidimensional con los siguientes valores:
   nombres[0,0]= Juan
   nombres[0,1]= Pepe
   nombres[1,0]= Ana
   nombres[1,1]= Eva

Cambiar el tamaño de un array en el que añadimos 5 elementos más
   int[ ] original = { 1, 2, 3, 4 };
   int[ ] copia = new int[original.Length]; // Copiamos el original en la copia
   original.CopyTo(copia, 0);
   original = new int[original.Length + 5];

   // Asignamos nuevamente lo copiado a partir del primer elemento
   copia.CopyTo(original, 0);
Introduccion a Visual C#.Net
 ∀   Sistemas de Tipos
 ∀   Clases
       •   Clases
       •   Definir una Clase
       •   Instanciar una Clase

     Manejo de Excepciones
Que es una Clase?

• Una clase es una descripción de un grupo de objetos con:
  – Propiedades en común (atributos)
  – Comportamiento similar (operaciones)
  – La misma forma de relacionarse con otros objetos
  – Una semántica en común (significan lo mismo)

• Una clase es una abstracción que:
  – Enfatiza las características relevantes
  – Suprime otras características (simplificación)

• Un objeto es una instancia de una clase
Ejemplo de Clase
  • Clase: Curso
  • Estado (Atributos)
     – Nombre
     – Ubicación
     – Días Ofrecidos
     – Horario de Inicio
     – Horario de Término

  • Comportamiento (Métodos)
     – Agregar un Alumno
     – Borrar un Alumno
     – Entregar un Listado del Curso
     – Determinar si está Completo
Definir una Clase
En Visual C# 2005, todo el código que queramos escribir, lo tendremos
que hacer en un fichero con la extensión .cs

Accesibilidad A los elementos de nuestro código podemos darle diferentes tipos.

public: Acceso no restringido.
public

protected: Acceso limitado a la clase contenedora o a tipos derivados de esta clase.
protected

internal: Acceso limitado al proyecto actual.
internal

protected internal: Acceso limitado al proyecto o a los tipos derivados de la clase
          internal

private: Acceso limitado al tipo contenedor.
private
                                                class Cliente
                                                {
                                                     private int CliCodigo;
                                                     public string Nombre;
                                                     public string Apellidos;
                                                }
Definir una Clase
En Visual C# 2005, todo el código que queramos escribir, lo tendremos que hacer en
un fichero con la extensión .cs, ademas un fichero C# puede contener varias clases
                  class Cliente
                  {
                       private int CliCodigo;
                       private string CliNombre;

                       public string Nombre
                       {
                         get
                         {
                            return CliNombre;
                         }
                         set
                         {
                            CliNombre = value;
                         }
                       }
                       public void Saludo()
                       {
                         Console.WriteLine("Hola mundo!!");
                         Console.ReadLine();
                       }
                  }
Instaciar una Clase

Con la clase ya definida disponemos de una especie de plantilla
para crear objetos en memoria


Declarar primero la variable y después instanciarla
 Cliente objCliente; //variable cli1 para acceder a una clase de tipo Cliente

 objCliente = new Cliente(); //referencia a objeto Cliente usando: new Cliente():



Declarar e instanciar en un solo paso es la otra forma de instanciar
una clase es decir haciéndolo al mismo tiempo que la declaramos
 Cliente objCliente = new Cliente();
Instaciar una Clase

Con la clase ya definida disponemos de una especie de plantilla
para crear objetos en memoria


Declarar primero la variable y después instanciarla
 Cliente objCliente; //variable cli1 para acceder a una clase de tipo Cliente

 objCliente = new Cliente(); //referencia a objeto Cliente usando: new Cliente():



Declarar e instanciar en un solo paso es la otra forma de instanciar
una clase es decir haciéndolo al mismo tiempo que la declaramos
 Cliente objCliente = new Cliente();
Introduccion a Visual C#.Net
 ∀   Sistemas de Tipos
 ∀   Clases
 ∀   Manejo de Excepciones
      • Try
      • Catch
Excepciones

Aplicaciones no estarán libres de errores lógicos.
Errores que se produzcan en tiempo de ejecución.
C# pone a nuestra disposición el manejo de excepciones

Las excepciones en C# las podemos controlar usando las
instrucciones: try / catch / finally

Bloque try
El código a usar será un código normal.
Se produce el error y se usará el bloque catch.

Bloque catch
Se produce una excepción y la capturamos en un bloque catch.
En el bloque catch se indica el tipo de excepción a capturar.
Try & Catch

Con la clase ya definida disponemos de una especie de plantilla
para crear objetos en memoria

 try
 {
   // código que queremos controlar
 }
 catch
 {
   // el código a ejecutar cuando se produzca cualquier error
 }

Bloque finally
Indicar instrucciones que queremos ejecutar, se produzca o no la excepción.
Nos aseguramos que siempre se ejecutará un código.
int i, j;
try
{
      Console.Write("Un numero ");
    i = Convert.ToInt32(Console.ReadLine());
    Console.Write("Otro numero ");
    j = Convert.ToInt32(Console.ReadLine());

  int r = i / j;

  Console.WriteLine("El resultado es: {0}", r);
}
catch (FormatException)
{
   Console.WriteLine("No es un número válido"); // Salimos de la función, pero se ejecutará el finally
   return;
}
catch (DivideByZeroException)
{
   Console.WriteLine("La división por cero no está permitida.");
}
catch (Exception ex)
{
     Console.WriteLine(ex.Message); // Captura del resto de excepciones
}
finally
{
     Console.WriteLine("Se acabó"); // Este código siempre se ejecutará
}

Más contenido relacionado

La actualidad más candente (17)

6 excepciones
6 excepciones6 excepciones
6 excepciones
 
Tutorial C++
Tutorial C++Tutorial C++
Tutorial C++
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
Java
JavaJava
Java
 
C ++
C ++C ++
C ++
 
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
Algorimos básicos para cifrar y descifrar en C# (encriptar y desencriptar)
 
Profesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTBProfesora Asociada Facultad de Ingeniería UTB
Profesora Asociada Facultad de Ingeniería UTB
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Aejemplosc
AejemploscAejemplosc
Aejemplosc
 
Herencia y polimorfismo
Herencia y polimorfismoHerencia y polimorfismo
Herencia y polimorfismo
 
4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum4 variables, arreglos, estructuras y enum
4 variables, arreglos, estructuras y enum
 
Programación en c++
Programación en c++Programación en c++
Programación en c++
 
C++
C++C++
C++
 
Clase 5
Clase 5Clase 5
Clase 5
 
Operaciones Basicas C++
Operaciones Basicas C++Operaciones Basicas C++
Operaciones Basicas C++
 
Tema 1.1
Tema 1.1Tema 1.1
Tema 1.1
 
Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
 

Destacado

Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...
Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...
Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...Manfred Schütz
 
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...Investigación, gestión y búsqueda de la información en internet - Conectar Ig...
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...Federico Gabriel Gutierrez
 
Coy11 integraci%c3%93 n%20para%20el%20desarrollo
Coy11 integraci%c3%93 n%20para%20el%20desarrolloCoy11 integraci%c3%93 n%20para%20el%20desarrollo
Coy11 integraci%c3%93 n%20para%20el%20desarrolloAriel Flores
 
Black jokes 12
Black jokes 12Black jokes 12
Black jokes 12Petefull
 
Las Reglas De Bill Gate
Las Reglas De Bill GateLas Reglas De Bill Gate
Las Reglas De Bill Gatejose
 
5. material did. 2011 gdj
5.  material did. 2011 gdj5.  material did. 2011 gdj
5. material did. 2011 gdjAnaLauraPlatas
 
Pokertipps
PokertippsPokertipps
Pokertippskanime
 
Solidarische öKonomie Gemeinwirtschaft
Solidarische öKonomie GemeinwirtschaftSolidarische öKonomie Gemeinwirtschaft
Solidarische öKonomie Gemeinwirtschaftbrikarus
 
Productos y demostraciones mx
Productos y demostraciones mxProductos y demostraciones mx
Productos y demostraciones mxAntonio Abonce
 
Enclosuers sommerschule
Enclosuers sommerschuleEnclosuers sommerschule
Enclosuers sommerschulebrikarus
 

Destacado (20)

Noticias de espeleología 20120113
Noticias de espeleología 20120113Noticias de espeleología 20120113
Noticias de espeleología 20120113
 
Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...
Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...
Minderheitspolitik der SPÖ | Konzept für die Abschlusspräsentation am 21. Jun...
 
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...Investigación, gestión y búsqueda de la información en internet - Conectar Ig...
Investigación, gestión y búsqueda de la información en internet - Conectar Ig...
 
Arte
ArteArte
Arte
 
Coy11 integraci%c3%93 n%20para%20el%20desarrollo
Coy11 integraci%c3%93 n%20para%20el%20desarrolloCoy11 integraci%c3%93 n%20para%20el%20desarrollo
Coy11 integraci%c3%93 n%20para%20el%20desarrollo
 
Black jokes 12
Black jokes 12Black jokes 12
Black jokes 12
 
Las Reglas De Bill Gate
Las Reglas De Bill GateLas Reglas De Bill Gate
Las Reglas De Bill Gate
 
5. material did. 2011 gdj
5.  material did. 2011 gdj5.  material did. 2011 gdj
5. material did. 2011 gdj
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Pokertipps
PokertippsPokertipps
Pokertipps
 
Trabajo cientifico 6
Trabajo cientifico 6Trabajo cientifico 6
Trabajo cientifico 6
 
Solidarische öKonomie Gemeinwirtschaft
Solidarische öKonomie GemeinwirtschaftSolidarische öKonomie Gemeinwirtschaft
Solidarische öKonomie Gemeinwirtschaft
 
Cultura mariam
Cultura   mariamCultura   mariam
Cultura mariam
 
Sis operativos
Sis operativosSis operativos
Sis operativos
 
Productos y demostraciones mx
Productos y demostraciones mxProductos y demostraciones mx
Productos y demostraciones mx
 
3º ud2 alumno
3º ud2 alumno3º ud2 alumno
3º ud2 alumno
 
Kurt
KurtKurt
Kurt
 
Enclosuers sommerschule
Enclosuers sommerschuleEnclosuers sommerschule
Enclosuers sommerschule
 
Müde
MüdeMüde
Müde
 
Brouchure apoyo empresarial 2013
Brouchure  apoyo empresarial 2013Brouchure  apoyo empresarial 2013
Brouchure apoyo empresarial 2013
 

Similar a C sharp intro1

Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosJosé Antonio Sandoval Acosta
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swiftbetabeers
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2mellcv
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevjtk1
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++Karime Hernández
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).pptJOSECASHUUG
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02Krizztiina Pacheko
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje javaMargarita Romero
 

Similar a C sharp intro1 (20)

Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
03 Oop
03   Oop03   Oop
03 Oop
 
Introducción a Swift
Introducción a SwiftIntroducción a Swift
Introducción a Swift
 
Definición de clases en POO
Definición de clases en POODefinición de clases en POO
Definición de clases en POO
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Lenguaje c ++ guía para programadores
Lenguaje c ++  guía para programadoresLenguaje c ++  guía para programadores
Lenguaje c ++ guía para programadores
 
Programación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prevProgramación orientada a objetos con c++ prev
Programación orientada a objetos con c++ prev
 
Programación III
Programación IIIProgramación III
Programación III
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
 
8.clases y objetos en c++
8.clases y objetos en c++8.clases y objetos en c++
8.clases y objetos en c++
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 

Más de Colegio Agropecuario de San Carlos

Más de Colegio Agropecuario de San Carlos (20)

Desarrollo sitios web
Desarrollo sitios webDesarrollo sitios web
Desarrollo sitios web
 
Lenguajes de programacion web
Lenguajes de programacion webLenguajes de programacion web
Lenguajes de programacion web
 
C sharp intro0
C sharp intro0C sharp intro0
C sharp intro0
 
Examensinrespuesta
ExamensinrespuestaExamensinrespuesta
Examensinrespuesta
 
Tipos de certificaciones profesionales en informática
Tipos de certificaciones profesionales en informáticaTipos de certificaciones profesionales en informática
Tipos de certificaciones profesionales en informática
 
Visual basic 2
Visual basic 2Visual basic 2
Visual basic 2
 
Presentación1
Presentación1Presentación1
Presentación1
 
Introducción a net
Introducción a netIntroducción a net
Introducción a net
 
C sharp intro1
C sharp intro1C sharp intro1
C sharp intro1
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 
Servicios de sistemas
Servicios de sistemasServicios de sistemas
Servicios de sistemas
 
Planificador del procesador
Planificador del procesadorPlanificador del procesador
Planificador del procesador
 
Tipos sitemas operativos
Tipos sitemas operativosTipos sitemas operativos
Tipos sitemas operativos
 
Ms
MsMs
Ms
 
Practica ms dos 2
Practica ms dos 2Practica ms dos 2
Practica ms dos 2
 
Drop database bd
Drop database bdDrop database bd
Drop database bd
 
Igu
IguIgu
Igu
 
Intrefaz gráfica de usuario
Intrefaz gráfica de usuarioIntrefaz gráfica de usuario
Intrefaz gráfica de usuario
 
Igu
IguIgu
Igu
 
Intrefaz gráfica de usuario
Intrefaz gráfica de usuarioIntrefaz gráfica de usuario
Intrefaz gráfica de usuario
 

C sharp intro1

  • 1. Microsoft Visual Studio .Net 2005 Introduccion Visual C#.Net
  • 2. Introduccion a Visual C#.Net Sistemas de Tipos Clases y Estructuras Manejo de Excepciones
  • 3. Introduccion a Visual C#.Net Sistemas de Tipos • Tipos primitivos • Variables y constantes • Arrays (matrices) Clases y Estructuras Manejo de Excepciones
  • 4. Tipos Primitivos Tipos de datos definidos en .NET Framework y los alias utilizados en Visual C# 2005.
  • 5. Variables y Constantes Las constantes son valores que nunca cambian y pueden ser de dos tipos: 0.1416; // constante literal const double iva = 0.12; //constante con nombre En Visual C# 2005, en las variables en siempre se indican el tipo de datos que tendrá string saludo = “hola mundo”; int a, b, c; //declaracion de multiples variables double x=0.10, y=0.20, z=0.30 ; //declaracion y asignacion de variables Las cadenas de caracteres en C#, se definen indicando la cadena entre comillas dobles string s1 = "Hola, "; s1 = s1 + "mundo"; // StringBuilder deberíamos usarla enconcatenaciones o uniones de cadenas StringBuilder sb = new StringBuilder(); sb.Append("Hola, "); sb.Append("mundo");
  • 6. Arrays y Matrices Los arrays se definen indicando un par de corchetes en el tipo de datos int[ ] numeros; // un array se declara con el tipo de dato seguido de [ ] Numeros = new int[4]; //indica el numero de elementos que tendra el array int[ ] num2 = new int[3]; El índice inferior será cero y el índice superior será uno menos del número de elementos num2[0] = 3; //usamos los corchetes y la posición en la que queremos guardar num2[1] = 22; Para recorrer los elementos de un array podemos hacerlo de las siguientes formas for (int i = 0; i < num2.Length; i++) { Console.WriteLine(num2[i]); } foreach(int i in num2) { Console.WriteLine(i); }
  • 7. Arrays y Matrices Declarar arrays e inicializarlos al mismo tiempo, aunque la sintaxis es un poco distinta, ya que en esta ocasión debemos indicar varios valores después de definir el array string[ ] nombres = {"Pepe", "Juan", "Luisa"}; string[,] nombres = { { "Juan", "Pepe" }, { "Ana", "Eva" } }; // en este código tendríamos un array bidimensional con los siguientes valores: nombres[0,0]= Juan nombres[0,1]= Pepe nombres[1,0]= Ana nombres[1,1]= Eva Cambiar el tamaño de un array en el que añadimos 5 elementos más int[ ] original = { 1, 2, 3, 4 }; int[ ] copia = new int[original.Length]; // Copiamos el original en la copia original.CopyTo(copia, 0); original = new int[original.Length + 5]; // Asignamos nuevamente lo copiado a partir del primer elemento copia.CopyTo(original, 0);
  • 8. Introduccion a Visual C#.Net ∀ Sistemas de Tipos ∀ Clases • Clases • Definir una Clase • Instanciar una Clase Manejo de Excepciones
  • 9. Que es una Clase? • Una clase es una descripción de un grupo de objetos con: – Propiedades en común (atributos) – Comportamiento similar (operaciones) – La misma forma de relacionarse con otros objetos – Una semántica en común (significan lo mismo) • Una clase es una abstracción que: – Enfatiza las características relevantes – Suprime otras características (simplificación) • Un objeto es una instancia de una clase
  • 10. Ejemplo de Clase • Clase: Curso • Estado (Atributos) – Nombre – Ubicación – Días Ofrecidos – Horario de Inicio – Horario de Término • Comportamiento (Métodos) – Agregar un Alumno – Borrar un Alumno – Entregar un Listado del Curso – Determinar si está Completo
  • 11. Definir una Clase En Visual C# 2005, todo el código que queramos escribir, lo tendremos que hacer en un fichero con la extensión .cs Accesibilidad A los elementos de nuestro código podemos darle diferentes tipos. public: Acceso no restringido. public protected: Acceso limitado a la clase contenedora o a tipos derivados de esta clase. protected internal: Acceso limitado al proyecto actual. internal protected internal: Acceso limitado al proyecto o a los tipos derivados de la clase internal private: Acceso limitado al tipo contenedor. private class Cliente { private int CliCodigo; public string Nombre; public string Apellidos; }
  • 12. Definir una Clase En Visual C# 2005, todo el código que queramos escribir, lo tendremos que hacer en un fichero con la extensión .cs, ademas un fichero C# puede contener varias clases class Cliente { private int CliCodigo; private string CliNombre; public string Nombre { get { return CliNombre; } set { CliNombre = value; } } public void Saludo() { Console.WriteLine("Hola mundo!!"); Console.ReadLine(); } }
  • 13. Instaciar una Clase Con la clase ya definida disponemos de una especie de plantilla para crear objetos en memoria Declarar primero la variable y después instanciarla Cliente objCliente; //variable cli1 para acceder a una clase de tipo Cliente objCliente = new Cliente(); //referencia a objeto Cliente usando: new Cliente(): Declarar e instanciar en un solo paso es la otra forma de instanciar una clase es decir haciéndolo al mismo tiempo que la declaramos Cliente objCliente = new Cliente();
  • 14. Instaciar una Clase Con la clase ya definida disponemos de una especie de plantilla para crear objetos en memoria Declarar primero la variable y después instanciarla Cliente objCliente; //variable cli1 para acceder a una clase de tipo Cliente objCliente = new Cliente(); //referencia a objeto Cliente usando: new Cliente(): Declarar e instanciar en un solo paso es la otra forma de instanciar una clase es decir haciéndolo al mismo tiempo que la declaramos Cliente objCliente = new Cliente();
  • 15. Introduccion a Visual C#.Net ∀ Sistemas de Tipos ∀ Clases ∀ Manejo de Excepciones • Try • Catch
  • 16. Excepciones Aplicaciones no estarán libres de errores lógicos. Errores que se produzcan en tiempo de ejecución. C# pone a nuestra disposición el manejo de excepciones Las excepciones en C# las podemos controlar usando las instrucciones: try / catch / finally Bloque try El código a usar será un código normal. Se produce el error y se usará el bloque catch. Bloque catch Se produce una excepción y la capturamos en un bloque catch. En el bloque catch se indica el tipo de excepción a capturar.
  • 17. Try & Catch Con la clase ya definida disponemos de una especie de plantilla para crear objetos en memoria try { // código que queremos controlar } catch { // el código a ejecutar cuando se produzca cualquier error } Bloque finally Indicar instrucciones que queremos ejecutar, se produzca o no la excepción. Nos aseguramos que siempre se ejecutará un código.
  • 18. int i, j; try { Console.Write("Un numero "); i = Convert.ToInt32(Console.ReadLine()); Console.Write("Otro numero "); j = Convert.ToInt32(Console.ReadLine()); int r = i / j; Console.WriteLine("El resultado es: {0}", r); } catch (FormatException) { Console.WriteLine("No es un número válido"); // Salimos de la función, pero se ejecutará el finally return; } catch (DivideByZeroException) { Console.WriteLine("La división por cero no está permitida."); } catch (Exception ex) { Console.WriteLine(ex.Message); // Captura del resto de excepciones } finally { Console.WriteLine("Se acabó"); // Este código siempre se ejecutará }

Notas del editor

  1. Las últimas filas mostradas en la tabla son tipos especiales que si bien son parte del sistema de tipos comunes (CTS) no forman parte de la Common Language Specification (CLS), es decir la especificación común para los lenguajes &amp;quot;compatibles&amp;quot; con .NET, por tanto, si queremos crear aplicaciones que puedan interoperar con todos los lenguajes de .NET, esos tipos no debemos usarlos como valores de devolución de funciones ni como tipo de datos usado en los parámetros de las funciones.
  2. La forma más sencilla de entender el concepto de clase es si la vemos como una agrupación de objetos con características similares. Por ejemplo, un auto ES UN tipo particular de vehículo motorizado, con lo cual dentro de su comportamiento podemos encontrar “arrancar” y “frenar”, entre otros. Ahora bien, una motocicleta también ES UN vehículo motorizado, y tiene dentro de su comportamiento “arrancar” y “frenar”. El conjunto de atributos también es compartido entre una motocicleta y un automóvil, aunque sus valores no coincidan necesariamente. Por ejemplo, ambos tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la motocicleta 2.