Introducción a la Acústica (monografía, versión preliminar .PDF)
Introducción A C# (VersióN Charla)
-
Upload
bernardo-zuluaga -
Category
Education
-
view
868 -
download
15
description
Transcript of 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
Í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
¿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
¿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
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#”
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) {{
}} }}}}
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
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;
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 }
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;
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
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
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
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
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.
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
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>;
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
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
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
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>}}
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>
}}
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>
}}
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>
}}
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>)
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>
}}
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>}}
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
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
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>}}
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
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
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
(GRACIAS)(GRACIAS)