Sie sind auf Seite 1von 37

Programacin 2

Visual C-Sharp

Conceptos Generales

Qu es lenguaje de programacin?

Cules son los lenguajes de programacin que


incluye la familia Microsoft Visual Studio?

Qu tipos de lenguajes de programacin


conoce?

Conoce el origen histrico del lenguaje de


programacin C#?

Cules son las formas en que los lenguajes de


programacin procesan el cdigo fuente?
2

Lenguaje de Programacin
Es un lenguaje diseado para describir
el conjunto de acciones consecutivas
que un equipo debe ejecutar.
Por lo tanto, un lenguaje de
programacin es un modo prctico
para que los seres humanos puedan
dar instrucciones a un equipo.

Los

Tipos de Lenguajes de
programacin

lenguajes de programacin generalmente se


dividen en dos grupos principales en base al
procesamiento de sus comandos:

Lenguajes Imperativos
Lenguajes Funcionales

Lenguaje de programacin
imperativo
Es un programa mediante una serie de comandos,
agrupados en bloques y compuestos de rdenes
condicionales que permiten al programa retornar a un
bloque de comandos si se cumple la condicin.
No obstante, los lenguajes imperativos estructurados
carecen de flexibilidad debido a la secuencialidad de
las instrucciones.

Lenguaje de programacin
funcional
Un

lenguaje de programacin funcional(a menudo


llamado lenguaje procedimental) es un lenguaje que
crea programas mediante funciones, devuelve un
nuevo estado de resultado y recibe como entrada el
resultado de otras funciones.
Cuando

una funcin se invoca a s misma, hablamos


de recursividad.

OPTIMIZACION DE CDIGO

27-01-2014

Introduccin a Lenguaje Microsoft C#

Introduccin a C-Sharp (C#)

Es el nuevo lenguaje de propsito general diseado por


Microsoft para su plataforma .NET. Sus principales
creadores son Scott Wiltamuth y Anders Hejlsberg, ste
ltimo tambin conocido por haber sido el diseador del
lenguaje Turbo Pascal y la herramienta RAD Delphi.

Se suele decir que C# es el lenguaje nativo de .NET

En resumen, C# es un lenguaje de programacin que


toma las mejores caractersticas de lenguajes
preexistentes como Visual Basic, Java o C++ y las
combina en uno solo.

Que es el .NET Framework


Una plataforma de ejecucin manejada

Una gran biblioteca de cdigo reusable y

probado
Multiplataforma

Multilenguaje

Un Ecosistema de Objetos consistente


9

.NET Framework 2015

10

Open Source?

11

Que es C-Sharp (C#)

De la Familia de { }, [ ] y ;

De propsito general

Multiparadigma:
Orientado a objetos
Funcional
Estructurado
Procedural
Imperativo

Manejado

De tipos seguros

Con Capacidades de metaprogramacin


12

Bibliotecas

Using.System = Biblioteca bsica contiene todas las llamadas ms


importantes

Using.System.Collections.Generic = estamos llamando colecciones genericas

Using.System.Linq = Estamos utilizando Links

Using.System.Text = Estamos utilizando funcionalidades de Texto

Using.System.Threading.Tasks = Estamos utilizando o utilizar llamadas a los


elementos multihilos, como Task o Away

Using.System.Collections = Arreglos, o colecciones especiales

Using.System.Configuration = Permite crear objetos de configuracin

Using.System.Data = Aqu se encapsula todo el aceso a datos, o definir otras


fuentes de datos

Using.System.Deployment = Manipular y tener acceso a un sistemas de


Deployment utilizando instaladores.

13

Bibliotecas

Using.System.Dynamic = volver mas dinmica

Using.System.Globalization = Podemos tener herramientas para facilitar el


manejo de cadenas, fechas, etc.

Using.System.IO = todo el acceso a string y flujo del sistema, como imprimir en


consola, leer archivos, carpetas, leer fuentes de datos de otros lugares.

Using.System.Media = Manipular imgenes, recursos, audio y video

Using.System.Net = todas las comunicaciones, accesos a puertos, protocolos


de comunicacin

Using.System.Reflection = est detrs del Framework

Using.System.Runtime = hablamos del tiempo de ejecucin

Using.System.Resources = Todo lo referente a recursos, haciendo referencia a


los recursos graficos dentro del proyecto

Using.System.Security = Hablamos de todo lo referente a seguridad,


encriptacin, niveles de acceso, quien tene acceso y quin no.
14

Bibliotecas

Using.System.Diagnostics = Poder crear instrumentacin, como herramientas o


metodologa para tener accesos a saber la salud de nuestra aplicacin, y asi
guardar log.

Using.System.Text = Manipulacion de Texto

Using.System.Threading = Sirve para manejo multihilos

Using.System.Timers = Componentes que se anclan al reloj del sistemas, para


poder tener mecanismos para ejecutar cdigo cada determinado periodo de
tiempo

Using.System.Web = acceso a Web, encapsula ASP.NET, protocolos de


conexion a http, etc

Using.System.Windows = Da acceso a libreras de Windows

Using.System.xml = libreras para acceso y manipulacin de XML

15

Caractersticas, mapa conceptual

16

Sistema de tipos

Define los tipos bsicos a usar en toda la


plataforma

Establece un comn denominador entre los


diferentes lenguajes

Provee estatutos de seguridad y de conversin


entre tipos

17

Tipos base

Clases

Estructuras
Tipos Primitivos

Enumeraciones

Interface

Delegados

Todo hereda de System.Object!


18

Tipos
Primitivos
DateTime

Decimal

Double

Single

Int16

Int32

Int64
19

La Clase String

Una coleccin de caracteres Unicode

Inmutable

Tiene los operadores sobrecargados para emular


los tipos por valor

Puede contener caracteres nulos

Se puede acceder a sus elementos a travs de


un indexador

Permite darle formato a tipos por valor

Permite convertir tipos por valor a cadenas

C# 6.0 : Interpolacin de cadenas


20

Biblioteca de Clases

Repositorio comn de funcionalidad

Organizado por espacios de nombres


Usando la palabra clave namespace

Provee acceso a funcionalidad del sistema

Funcionalidad probada y segura

21

Clases

Son los bloques fundamentales de cdigo en


.NET

Son la abstraccin (o representacin mnima) de


otro objeto

Tienen

comportamiento

almacenan

datos

(estado).

Tienen miembros (Son las Propiedades).

Pueden soportar tipos genricos


22

Miembros de una Clase

Campos

Constantes

Propiedades *

Mtodos

Constructores*

Destructores

Eventos

Indexadores*

Operadores

Tipos Anidados
23

Clases
Las clases pueden tener diferentes niveles de acceso

public
private
internal
protected
protected internal

El proceso de crear un objeto a partir de una clase se


llama instanciacin y se usa la palabra clave new
Pueden ser declaradas como estticas, usando la palabra
clave static
Pueden definirse como parciales y distribuirse en
mltiples archivos fsicos usando la palabra clave
partial
La herencia de clases permite extender (y/o hacer mas
especfica) la funcionalidad de una clase
abstract
sealed
24

Mtodos

Contienen el cdigo ejecutable dentro de las clases

Tiene firma :

Nombre del mtodo

Tipos y orden de los parmetros

Tipo de retorno
Un Mtodo puede no regresar ningn valor usando la palabra

clave void

public
private
internal
protected
protected internal

abstract
sealed
virtual
override
protected internal

Pueden tener diferentes modificadores de acceso;

Pueden enforzar o limitar la herencia (Opcional)


25

Mtodos

Un mtodo se puede ocultar (cuando la clase se herada)

usando la palabra clave new


Pueden permitir pasar parmetros por valor o por

referencia

Palabra clave ref


Se pueden especificar parmetros de salida con la
palabra clave out

C# 6.0 se pueden inicializar parmetros de salida (out


var parmetro)

Para finalizar la ejecucin y/o refresar un valor se usa la


palabra clave return
26

Mtodos

Los mtodos pueden ser genricos

Los mtodos pueden ser ejecutados asncronamente

Se puede simular una coleccin (computada) a travs de


iteradores

Palabra clave yield return

Los mtodos se pueden sobrecargar

Los parmetros pueden inicializarle en la declaracin,


volvindolos opcionales

Los mtodos se pueden escribir en diferentes archivos


fsicos usando la palabra clave partial
27

Las Propiedades****

Las propiedades son tipos especiales de mtodos,


encapsulados por el sistema

Pueden ser de lectura, escritura y lectura-escritura

Cada elemento puede tener un modificador de acceso


independiente

A diferencia de las variables, las propidades pueden


implementar lgica

C# 6.0 : Se mejor la inicializacin de valores con


inicializadores de auto-propiedades.

28

Variables y alcance
Son unidades de almacenamiento de datos
Tienen nombre, ciclo de vida y alcance
Existen varias categoras :

De instancia
Estticas
Arreglos
Locales
Parmetros por valor
Parmetros por referencia
Parmetros de salida

El compilador de C# hace cumplir varias reglas :


Las variables siempre tienen que estar inicializadas
para ser usadas
La asignacin siempre se debe de dar con variables del
mismo tipo (Type Safe)
El compilador puede inferir el tipo a asignar usando la
palabra clave var
29

Una

Variables
alcance
de inicializar yuna
clase con

forma

su

valor

predeterminado es usando el operador default()


Las

variables

se

pueden

asignar

al

momento

de

declararlas
Las variables estn limitadas al bloque {} en el que

estn contenidas, y su vida termina justo al final del


bloque
Las variables creadas fuera de un bloque, pueden ser

visualizadas dentro del bloque, pero no funciona a la


inversa (Esto es cuando tenemos bloques anidados)
El nombrado de las variables es sensible a maysculas

Todo C# es sensible al uso de maysculas y minsculas


30

Operadores
Son smbolos que permiten ejecutar operaciones en las
sentencias de cdigo
Se dividen en varios tipos de operadores

Primarios
Unarios
Multiplicativos
Aditivos
De corrimiento
Relacionales y de tipo
De equidad
Lgicos, Condicionales y de nulidad
De asignacin y funcionales

El orden en que se evalan los operadores esta basado


en la precedencia del operador, la asociatividad y los
parntesis
La asociatividad indica la direccin en la que se evalan
las expresiones

31

Unarios

Primarios

A[X]

+X

-X

!X

~X

(t) X

Await

&X

*X.

x++
X- New
Typeof
Cheched
Uncheked
Default(t)
Delegate
32

Multiplicativo Relacionale Corrimiento


s
s
s

x*y

x<y

x >> y

x/y

x>y

x << y

x%y

x <= y

x <= y

Is

as

33

Equidad

X ==y

X! = y

Lgicos
x & y (and)

x | y (or)

x ^ y (exor)

Condicional
es
x && y

x || y

?:

De
nulidad*

x ?? y

x ?. y

34

De asignacin y funcionales

X=Y

X += Y

X -= Y

X *= Y

X /= Y

X %= Y

X &= Y

X 1= Y

X ^= Y

X <<= Y

X >>= Y

=>

35

Manejo de excepciones*

Las excepciones son errores de ejecucin representados


como objetos.

Los objetos se pueden manejar usando el bloque


Try
{

}
Catch [(Exception ex)]
{
...
}
[finally
{

}]

36

Manejo de excepciones*

Tambin se pueden lanzar excepciones manualmente


usando la palabra clave throw

Las excepciones se pueden concretizar heredando del


objeto Exception

Si una excepcin no es atrapada, la aplicacin se da por


terminada

C# 6.0: Los bloques catch y finally ya soportan


await

C# 6.0: Los bloques catch pueden soportar filtros.

37

Das könnte Ihnen auch gefallen