Introducción A C# (VersióN Charla)

34
Introducción a C# Introducción a C# José Antonio Jiménez Carmona José Antonio Jiménez Carmona Club .NET – Universidad de Sevill

description

Introduccion a C#

Transcript of Introducción A C# (VersióN Charla)

Page 1: Introducción A C# (VersióN Charla)

Introducción a C#Introducción a C#

José Antonio Jiménez CarmonaJosé Antonio Jiménez Carmona

Club .NET – Universidad de Sevilla

Page 2: Introducción A C# (VersióN Charla)

ÍNDICEÍNDICE

¿Qué es .NET?¿Qué es .NET?¿Qué es C#?¿Qué es C#?Características de C#Características de C#Estructura de un programa en C#Estructura de un programa en C#VariablesVariablesArraysArraysConstantesConstantesOperadoresOperadoresSentenciasSentenciasHerencia de clasesHerencia de clasesHerencia de interfacesHerencia de interfacesDelegados y eventosDelegados y eventosExcepcionesExcepciones

Page 3: Introducción A C# (VersióN Charla)

¿Qué es .NET?¿Qué es .NET?

Tecnología software de MicrosoftTecnología software de Microsoft

Se trata básicamente del Se trata básicamente del Framework .NETFramework .NET (máquina virtual + (máquina virtual + librerías)librerías)

Aplicaciones productivas y Aplicaciones productivas y multiplataforma multiplataforma

Page 4: Introducción A C# (VersióN Charla)

¿Qué es C#?¿Qué es C#?

Lenguaje de propósito general, Lenguaje de propósito general, creado por Microsoftcreado por Microsoft

Lenguaje evolucionado de C++ y Lenguaje evolucionado de C++ y JavaJava

Ideal para .NETIdeal para .NET

Page 5: Introducción A C# (VersióN Charla)

Características de C#Características de C#

Lenguaje de alto nivel y sencilloLenguaje de alto nivel y sencillo

Orientado a objetosOrientado a objetos

Lenguaje modernoLenguaje moderno

Sintaxis casi igual a la de JavaSintaxis casi igual a la de Java““Si sabes Java, sabes C#”Si sabes Java, sabes C#”

Page 6: Introducción A C# (VersióN Charla)

Estructura de un programa en C#Estructura de un programa en C#

Función principalFunción principal

Librerías usadasLibrerías usadas

using System;using System;using System.Collections.Generic;using System.Collections.Generic;using System.Text;using System.Text;

namespace namespace MiMiPProgramarograma{{ public public class Programclass Program {{ public public static void Main(string[] args)static void Main(string[] args) {{

}} }}}}

Page 7: Introducción A C# (VersióN Charla)

Variables – ClasificaciónVariables – Clasificación

• Tipos primitivosTipos primitivos

• Tipos enumeradosTipos enumerados • EstructurasEstructuras

• ClasesClases

• InterfacesInterfaces

• ArraysArrays • DelegadosDelegados

Tratadas por Tratadas por valorvalor

Tratadas por Tratadas por referenciareferencia

Page 8: Introducción A C# (VersióN Charla)

Variables – Tipos primitivosVariables – Tipos primitivos

• • EEntero:ntero: intint numero; numero;numero = 4;numero = 4;

•• Carácter:Carácter: charchar c; c;c = ‘a’;c = ‘a’;

•• Cadena de caracteres:Cadena de caracteres: stringstring ciudad; ciudad;ciudad = “Sevilla”;ciudad = “Sevilla”;

•• Lógico:Lógico: boolbool exito; exito;exito = true;exito = true;

Page 9: Introducción A C# (VersióN Charla)

Variables – Tipos enumerados (1)Variables – Tipos enumerados (1)

Tipo de variable cuyos valores Tipo de variable cuyos valores posibles los elegimos nosotrosposibles los elegimos nosotros

Estructura:Estructura:

enumenum <nombre> { valor1, valor2,…, valorN } <nombre> { valor1, valor2,…, valorN }

Page 10: Introducción A C# (VersióN Charla)

Variables – Tipos enumerados (2)Variables – Tipos enumerados (2)

Ejemplo:Ejemplo:

enumenum Color { Color { azul, verde, rojo, amarilloazul, verde, rojo, amarillo } }

……

ColorColor c; c;

c = c = ColorColor.rojo;.rojo;

Page 11: Introducción A C# (VersióN Charla)

Variables – Clases (1)Variables – Clases (1)

Un Un objetoobjeto es un conjunto de datos y es un conjunto de datos y de métodos que permiten manipular de métodos que permiten manipular dichos datosdichos datos

Una Una claseclase es la definición de las es la definición de las características concretas de un características concretas de un determinado tipo de objetosdeterminado tipo de objetos

Page 12: Introducción A C# (VersióN Charla)

Variables – Clases (2)Variables – Clases (2)

Una clase se compone de:Una clase se compone de:

- AtributosAtributos Los datos del objeto Los datos del objeto

- MétodosMétodos La funcionalidad del objeto La funcionalidad del objeto

- ConstructoresConstructores Para valores iniciales Para valores iniciales

Page 13: Introducción A C# (VersióN Charla)

Variables - EstructurasVariables - Estructuras

Una Una estructuraestructura es lo mismo que una clase, es lo mismo que una clase, pero con tres diferencias principalmente:pero con tres diferencias principalmente:

- Se trata como variable por valorSe trata como variable por valor

- Es más rápida y ocupa menos memoriaEs más rápida y ocupa menos memoria

- No tiene herenciaNo tiene herencia

Page 14: Introducción A C# (VersióN Charla)

Variables – InterfacesVariables – Interfaces

Una Una interfazinterfaz especifica un “contrato” que especifica un “contrato” que una clase debe cumpliruna clase debe cumplir

- Contiene las cabeceras de los métodos y Contiene las cabeceras de los métodos y propiedades que debe tener dicha clasepropiedades que debe tener dicha clase

Una clase puede implementar 1 ó más Una clase puede implementar 1 ó más interfacesinterfaces

Page 15: Introducción A C# (VersióN Charla)

Variables - PropiedadesVariables - Propiedades

Una Una propiedadpropiedad es una mezcla entre el es una mezcla entre el concepto de atributo y el concepto de concepto de atributo y el concepto de método.método.

Externamente es accedida como si de un Externamente es accedida como si de un atributo normal se tratase, pero atributo normal se tratase, pero internamente es posible asociar código a internamente es posible asociar código a ejecutar en cada asignación o lectura de su ejecutar en cada asignación o lectura de su valor.valor.

Page 16: Introducción A C# (VersióN Charla)

ArraysArrays

Un Un arrayarray es un tipo especial de variable que es un tipo especial de variable que es capaz de almacenar de manera es capaz de almacenar de manera ordenada 1 ó más datos de un determinado ordenada 1 ó más datos de un determinado tipotipo

El valor de un array es una referenciaEl valor de un array es una referencia

Tienen algunos métodos y propiedades Tienen algunos métodos y propiedades útilesútiles

Page 17: Introducción A C# (VersióN Charla)

ConstantesConstantes

Una Una constanteconstante es una variable cuyo valor es una variable cuyo valor no puede cambiar durante la ejecución del no puede cambiar durante la ejecución del programaprograma

Hay que darles un valor inicial al Hay que darles un valor inicial al declararlas:declararlas:

constconst <tipoConstante> <nombreConstante> = <valor>; <tipoConstante> <nombreConstante> = <valor>;

Page 18: Introducción A C# (VersióN Charla)

Operadores (1)Operadores (1)

• Asignación ( Asignación ( == ) )

• Suma ( Suma ( ++ ) )• Resta ( Resta ( -- ) )• Producto ( Producto ( ** ) )• División ( División ( // ) )• Módulo ( Módulo ( %% ) )

• De asignaciónDe asignación

• AritméticosAritméticos

Page 19: Introducción A C# (VersióN Charla)

Operadores (2)Operadores (2)

• Igualdad ( Igualdad ( ==== ) )• Desigualdad ( Desigualdad ( !=!= ) )• Mayor que ( Mayor que ( >> ) )• Menor que ( Menor que ( < < ))• Mayor o igual que ( Mayor o igual que ( >=>= ) )• Menor o igual que ( Menor o igual que ( <=<= ) )

• RelacionalesRelacionales

Page 20: Introducción A C# (VersióN Charla)

Operadores (3)Operadores (3)

• AND con Evaluación Perezosa ( AND con Evaluación Perezosa ( &&&& ) )• AND sin Evaluación Perezosa ( AND sin Evaluación Perezosa ( && ) )• OR con Evaluación Perezosa ( OR con Evaluación Perezosa ( |||| ) )• OR sin Evaluación Perezosa ( OR sin Evaluación Perezosa ( | | ))• NOT ( NOT ( !! ) )• XOR ( XOR ( ^̂ ) )

• LógicosLógicos

Page 21: Introducción A C# (VersióN Charla)

Sentencias (1)Sentencias (1)

Instrucción IF:Instrucción IF:

Permite ejecutar ciertas instrucciones sólo si se cumple Permite ejecutar ciertas instrucciones sólo si se cumple una determinada condición.una determinada condición.

ifif (<condición>) (<condición>){{

<instrucciones><instrucciones>}}elseelse{{

<instrucciones><instrucciones>}}

Page 22: Introducción A C# (VersióN Charla)

Sentencias (2)Sentencias (2)

Instrucción SWITCHInstrucción SWITCH

Permite ejecutar un bloque de instrucciones según el valor Permite ejecutar un bloque de instrucciones según el valor de una cierta expresión.de una cierta expresión.

switch switch (<variable>)(<variable>)

{{

case <valorN>:case <valorN>:

<instrucciones><instrucciones>

}}

Page 23: Introducción A C# (VersióN Charla)

Sentencias (3)Sentencias (3)

Instrucción FOR:Instrucción FOR:

Sirve para repetir una serie de instrucciones un Sirve para repetir una serie de instrucciones un

determinado número de veces.determinado número de veces.

forfor (<inicialización>(<inicialización>; ; <condición><condición>; ; <modificación>)<modificación>)

{{

<instrucciones><instrucciones>

}}

Page 24: Introducción A C# (VersióN Charla)

Sentencias (4)Sentencias (4)

Instrucción WHILE:Instrucción WHILE:

Sirve repetir una serie de instrucciones mientras se cumpla Sirve repetir una serie de instrucciones mientras se cumpla una condición.una condición.

whilewhile (<condición>) (<condición>)

{{

<instrucciones><instrucciones>

}}

Page 25: Introducción A C# (VersióN Charla)

Sentencias (5)Sentencias (5)

Instrucción DO WHILE:Instrucción DO WHILE:

Sirve repetir una serie de instrucciones mientras se cumpla Sirve repetir una serie de instrucciones mientras se cumpla una condición y al menos se ejecutan 1 vez.una condición y al menos se ejecutan 1 vez.

dodo{{

<instrucciones><instrucciones>}}whilewhile (<condición>) (<condición>)

Page 26: Introducción A C# (VersióN Charla)

Sentencias (6)Sentencias (6)

Instrucción FOREACHInstrucción FOREACH

Sirve para recorrer arrays, como un iterador.Sirve para recorrer arrays, como un iterador.

foreachforeach ( (<tipoElemento> <elemento> <tipoElemento> <elemento> inin <array><array>))

{{

<instrucciones><instrucciones>

}}

Page 27: Introducción A C# (VersióN Charla)

Herencia de clases (1)Herencia de clases (1)

Permite definir nuevas clases a partir de otras ya definidasPermite definir nuevas clases a partir de otras ya definidas

Si una clase A hereda de otra clase B, el compilador Si una clase A hereda de otra clase B, el compilador incluye en A el contenido de Bincluye en A el contenido de B

Una clase no puede heredar de más de 1 claseUna clase no puede heredar de más de 1 clase

<modificador> class <nombreClaseHija> : <nombreClasePadre><modificador> class <nombreClaseHija> : <nombreClasePadre>{{

<miembrosHija><miembrosHija>}}

Page 28: Introducción A C# (VersióN Charla)

Herencia de clases (2)Herencia de clases (2)

ModificadoresModificadores

- Controlan la visibilidad de los atributos y métodos de una Controlan la visibilidad de los atributos y métodos de una claseclase

- Modificadores más importantes:Modificadores más importantes:

publicpublic:: Visible fuera de la claseVisible fuera de la clase privateprivate : : Visible sólo dentro de la claseVisible sólo dentro de la clase protectedprotected:: Visible dentro de la clase y de sus clases Visible dentro de la clase y de sus clases

hijashijas

Page 29: Introducción A C# (VersióN Charla)

Herencia de clases (3)Herencia de clases (3)

Redefinición de métodosRedefinición de métodos

- El método a redefinir se precede de El método a redefinir se precede de virtualvirtual

- El nuevo método se precede de El nuevo método se precede de overrideoverride

Page 30: Introducción A C# (VersióN Charla)

Herencia de interfacesHerencia de interfaces

Permite definir nuevas interfaces a partir de otras ya Permite definir nuevas interfaces a partir de otras ya definidasdefinidas

Si una interfaz A hereda de otra interfaz B, el compilador Si una interfaz A hereda de otra interfaz B, el compilador incluye en A el contenido de Bincluye en A el contenido de B

Una interfaz puede heredar de 1 ó más interfacesUna interfaz puede heredar de 1 ó más interfaces

<modificador> interface <nombreInterfazHija> : <nombreInterfazPadre><modificador> interface <nombreInterfazHija> : <nombreInterfazPadre>{{

<miembrosHija><miembrosHija>}}

Page 31: Introducción A C# (VersióN Charla)

Delegados y eventosDelegados y eventos

Un Un objeto delegadoobjeto delegado almacena referencias almacena referencias a uno o más métodosa uno o más métodos

- Puede realizar la ejecución en cadena de todos Puede realizar la ejecución en cadena de todos ellosellos

Se usan mucho en las interfaces gráficasSe usan mucho en las interfaces gráficas

También se usan para ejecutar funciones También se usan para ejecutar funciones de forma asíncronade forma asíncrona

Page 32: Introducción A C# (VersióN Charla)

ExcepcionesExcepciones

Una Una excepciónexcepción es un objeto que es un objeto que representa un errorrepresenta un error

Surgen al haber un error, pero podemos Surgen al haber un error, pero podemos provocarlas nosotros mismosprovocarlas nosotros mismos

Podemos crear nuestras propias Podemos crear nuestras propias excepcionesexcepciones

Page 33: Introducción A C# (VersióN Charla)

Enlaces de interésEnlaces de interés

Club .NET Sevilla:Club .NET Sevilla:

http://sevilla.dotnetclubs.comhttp://sevilla.dotnetclubs.com

Recursos del club:Recursos del club:

http://recursos.dotnetclubs.com/sevillahttp://recursos.dotnetclubs.com/sevilla

Programación con .NET:Programación con .NET:

http://www.codeproject.comhttp://www.codeproject.com

Page 34: Introducción A C# (VersióN Charla)

(GRACIAS)(GRACIAS)