Programacion II - Clase.pptx
-
Upload
jesuscerros -
Category
Documents
-
view
217 -
download
0
Transcript of Programacion II - Clase.pptx
-
8/16/2019 Programacion II - Clase.pptx
1/41
Programación 2Visual C-Sharp
1
-
8/16/2019 Programacion II - Clase.pptx
2/41
2
Docente: Lic. Jesús A.Cerros C.
Correo : jesus.cerrosusap.e!u
Clase : Programación ""
Lenguaje : Visual C-Sharp
-
8/16/2019 Programacion II - Clase.pptx
3/41
3
PRIMER BLOQUEDIA 2
-
8/16/2019 Programacion II - Clase.pptx
4/41
Conceptos #enerales
4
• $u% es lenguaje !e programación&
• Cu'les son los lenguajes !e programación (ueinclu)e la *amilia +icroso*t Visual Stu!io&
•
$u% tipos !e lenguajes !e programaciónconoce&
• Conoce el origen histórico !el lenguaje !eprogramación C,&
• Cu'les son las *ormas en (ue los lenguajes !eprogramación procesan el có!igo *uente&
-
8/16/2019 Programacion II - Clase.pptx
5/41
Lenguaje !e Programación
5
s un lenguaje !isea!o para !escri/irel conjunto !e acciones consecuti0as
(ue un e(uipo !e/e ejecutar.
Por lo tanto1 un lenguaje !eprogramación es un mo!o pr'ctico
para (ue los seres humanos pue!an
!ar instrucciones a un e(uipo.
-
8/16/2019 Programacion II - Clase.pptx
6/41
ipos !e Lenguajes !eprogramación
6
Los lenguajes de programación generalmente se
dividen en dos grupos principales en base alprocesamiento de sus comandos:
Lenguajes Imperativos
Lenguajes Funcionales
-
8/16/2019 Programacion II - Clase.pptx
7/41
-
8/16/2019 Programacion II - Clase.pptx
8/41
Lenguaje !e programación*uncional
8
!n lenguaje de programación funcional"a menudollamado 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.
$uando una función se invoca a s% misma, &ablamos
de recursividad.
-
8/16/2019 Programacion II - Clase.pptx
9/41
3P"+"4AC"35 D C6D"#3
27-01-2014 Introducción a Lenguaje Microsoft C# 9
-
8/16/2019 Programacion II - Clase.pptx
10/41
"ntro!ucción a C-Sharp 7C,8
10
Es el nuevo lenguaje de propósito general diseñado por
Microsoft para su plataforma .NET. Sus principales
creadores son Scott Wiltamuth y nders !ejls"erg# $ste%ltimo tam"i$n conocido por ha"er sido el diseñador del
lenguaje Tur"o &ascal y la herramienta '( (elphi.
Se suele decir )ue *+ es el lenguaje nativo de .NE'
En resumen# *+ es un lenguaje de programación )ue
toma las mejores caracter,sticas de lenguajes
pree-istentes como isual /asic# 0ava o *11 y las
com"ina en uno solo.
$ l ;
-
8/16/2019 Programacion II - Clase.pptx
11/41
$ue es el .5 9rameor;
11
• Una plataforma de ejecución manejada
• Una gran biblioteca de código reusable y
probado
• Multiplataforma
• Multilenguaje
• Un Ecosistema de Objetos consistente
; 2
-
8/16/2019 Programacion II - Clase.pptx
12/41
12
.5 9rameor; 2
3 S &
-
8/16/2019 Programacion II - Clase.pptx
13/41
13
3pen Source&
$ C Sh 7C,8
-
8/16/2019 Programacion II - Clase.pptx
14/41
$ue es C-Sharp 7C,8
14
De la Familia de { }, [ y !
De propósito general Multiparadigma"
◦ Orientado a objetos
◦ Funcional
◦ Estructurado
◦ #rocedural
◦ $mperati%o
Manejado De tipos seguros
&on &apacidades de metaprogramación
?i/li t
-
8/16/2019 Programacion II - Clase.pptx
15/41
?i/liotecas
15
2sing.System 3 /i"lioteca "4sica contiene todas las llamadas m4s
importantes
2sing.System.*ollections.5eneric 3 estamos llamando colecciones genericas
2sing.System.6in) 3 Estamos utili7ando 6in8s
2sing.System.Te-t 3 Estamos utili7ando funcionalidades de Te-to
2sing.System.Threading.Tas8s 3 Estamos utili7ando o utili7ar llamadas a los
elementos multihilos# como Tas8 o 9ay 2sing.System.*ollections 3 rreglos# o colecciones especiales
2sing.System.*onfiguration 3 &ermite crear o"jetos de configuración
2sing.System.(ata 3 )u, se encapsula todo el aceso a datos# o definir otras
fuentes de datos
2sing.System.(eployment 3 Manipular y tener acceso a un sistemas de
(eployment utili7ando instaladores.
?i/liotecas
-
8/16/2019 Programacion II - Clase.pptx
16/41
?i/liotecas
16
2sing.System.(ynamic 3 volver mas din4mica
2sing.System.5lo"ali7ation 3 &odemos tener herramientas para facilitar el
manejo de cadenas# fechas# etc.
2sing.System.:; 3 todo el acceso a string y flujo del sistema# como imprimir en
consola# leer archivos# carpetas# leer fuentes de datos de otros lugares.
2sing.System.Media 3 Manipular im4genes# recursos# audio y video
2sing.System.Net 3 todas las comunicaciones# accesos a puertos# protocolosde comunicación
2sing.System.'eflection 3 est4 detr4s del
-
8/16/2019 Programacion II - Clase.pptx
17/41
?i/liotecas
17
2sing.System.(iagnostics 3 &oder crear instrumentación# como herramientas o
metodolog,a para tener accesos a sa"er la salud de nuestra aplicación# y asi
guardar log.
2sing.System.Te-t 3 Manipulacion de Te-to
2sing.System.Threading 3 Sirve para manejo multihilos
2sing.System.Timers 3 *omponentes )ue se anclan al reloj del sistemas# para
poder tener mecanismos para ejecutar código cada determinado periodo detiempo
2sing.System.We" 3 acceso a We"# encapsula S&.NET# protocolos de
cone-ion a http# etc
2sing.System.Windo9s 3 (a acceso a li"rer,as de Windo9s
2sing.System.-ml 3 li"rer,as para acceso y manipulación de =M6
-
8/16/2019 Programacion II - Clase.pptx
18/41
Caracter@sticas1 mapa conceptual
18
-
8/16/2019 Programacion II - Clase.pptx
19/41
19
PRIMER BLOQUEDIA 3
-
8/16/2019 Programacion II - Clase.pptx
20/41
ipos /ase
-
8/16/2019 Programacion II - Clase.pptx
21/41
ipos /ase
21
&lases Estructuras
◦ *ipos #rimiti%os
Enumeraciones $nterface
Delegados
o!o here!a !e S)stem.3/jectB
ipos Primiti0os
-
8/16/2019 Programacion II - Clase.pptx
22/41
ipos Primiti0os
22
Date *ime
Decimal
Double
-ingle
$nt./
$nt01
$nt/2
La Clase String
-
8/16/2019 Programacion II - Clase.pptx
23/41
La Clase String
23
Una colección de caracteres Unicode
$nmutable *iene los operadores sobrecargados para emular
los tipos por %alor
#uede contener caracteres nulos -e puede acceder a sus elementos a tra%3s de
un inde4ador
#ermite darle formato a tipos por %alor
#ermite con%ertir tipos por %alor a cadenas
&5 /67 " $nterpolación de cadenas
?i/lioteca !e Clases
-
8/16/2019 Programacion II - Clase.pptx
24/41
?i/lioteca !e Clases
24
8epositorio com)n de funcionalidad
Organi9ado por espacios de nombres
◦ Usando la palabra cla%e namespace
#ro%ee acceso a funcionalidad del sistema
Funcionalidad probada y segura
Clases
-
8/16/2019 Programacion II - Clase.pptx
25/41
Clases
25
-on los blo:ues fundamentales de código en
6;E*
-on la abstracción de
otro objeto
*ienen comportamiento y almacenan datos
6
*ienen miembros 6
#ueden soportar tipos gen3ricos
+iem/ros !e una Clase
-
8/16/2019 Programacion II - Clase.pptx
26/41
+iem/ros !e una Clase
26
&os
&onstantes
#ropiedades ?
M3todos
&onstructores?
Destructores
E%entos
$nde4adores?
Operadores
*ipos @nidados
Clases
-
8/16/2019 Programacion II - Clase.pptx
27/41
Clases
27
Aas clases pueden tener diferentes ni%eles de acceso◦ public
◦
pri%ate◦ internal
◦ protected
◦ protected internal El proceso de crear un objeto a partir de una clase se
llama instanciación y se usa la palabra cla%e BneC #ueden ser declaradas como est(ticas, usando la palabra
cla%e Bstatic #ueden de'nirse como parciales y distribuirse en
m)ltiples arci%os f=sicos usando la palabra cla%eBpartial
Aa erencia de clases permite e4tender
-
8/16/2019 Programacion II - Clase.pptx
28/41
+%to!os
28
&ontienen el código ejecutable dentro de las clases
*iene 'rma "
◦ ;ombre del m3todo
◦ *ipos y orden de los par(metros
◦ *ipo de retorno
Un M3todo puede no regresar ning)n %alor usando la palabra
cla%e B%oid
#ueden tener diferentes modi'cadores de acceso!
#ueden enfor9ar o limitar la erencia
◦ public
◦ pri%ate
◦ internal
◦ protected
◦ protected internal
◦ abstract
◦ sealed
◦ %irtual
◦ o%erride
◦ protected internal
+%to!os
-
8/16/2019 Programacion II - Clase.pptx
29/41
+%to!os
29
Un m3todo se puede ocultar
usando la palabra cla%e BneC
#ueden permitir pasar par(metros por %alor o por
referencia
◦ #alabra cla%e Bref
-e pueden especi'car par(metros de salida con la
palabra cla%e Bout
&5 /67 se pueden iniciali9ar par(metros de salida #ara 'nali9ar la ejecución yo refresar un %alor se usa la
palabra cla%e Breturn
+%to!os
-
8/16/2019 Programacion II - Clase.pptx
30/41
+%to!os
30
Aos m3todos pueden ser gen3ricos
Aos m3todos pueden ser ejecutados as=ncronamente
-e puede simular una colección a tra%3s de
iteradores
◦ #alabra cla%e Byield return
Aos m3todos se pueden sobrecargar
Aos par(metros pueden iniciali9arle en la declaración,
%ol%i3ndolos opcionales
Aos m3todos se pueden Bescribir en diferentes arci%os
f=sicos usando la palabra cla%e Bpartial
-
8/16/2019 Programacion II - Clase.pptx
31/41
Varia/les ) alcance
-
8/16/2019 Programacion II - Clase.pptx
32/41
Varia/les ) alcance
32
-on unidades de almacenamiento de datos *ienen nombre, ciclo de %ida y alcance
E4isten %arias categor=as "
El compilador de &5 ace cumplir %arias reglas "
◦ Aas %ariables siempre tienen :ue estar iniciali9adaspara ser usadas
◦ Aa asignación siempre se debe de dar con %ariables del
mismo tipo ◦ El compilador puede inferir el tipo a asignar usando la
palabra cla%e B%ar
◦ De instancia
◦ Est(ticas
◦ @rreglos
◦ Aocales
◦ #ar(metros por %alor
◦ #ar(metros por referencia
◦ #ar(metros de salida
Varia/les ) alcance Una for
ma de iniciali9ar una clase con su %alor
-
8/16/2019 Programacion II - Clase.pptx
33/41
Varia/les ) alcance
33
Una forma de iniciali9ar una clase con su %alor
predeterminado es usando el operador Bdefault
Aas %ariables se pueden asignar al momento de
declararlas
Aas %ariables est(n limitadas al blo:ue {} en el :ue
est(n contenidas, y su B%ida termina justo al 'nal del
blo:ue
Aas %ariables creadas fuera de un blo:ue, pueden ser
%isuali9adas dentro del blo:ue, pero no funciona a la
in%ersa
El nombrado de las %ariables es sensible a may)sculas
◦ *odo &5 es sensible al uso de may)sculas y min)sculas
3pera!ores
-
8/16/2019 Programacion II - Clase.pptx
34/41
3pera!ores
34
-on s=mbolos :ue permiten ejecutar operaciones en lassentencias de código
-e di%iden en %arios tipos de operadores
El orden en :ue se e%al)an los operadores esta basadoen la precedencia del operador, la asociati%idad y los
par3ntesis Aa asociati%idad indica la dirección en la :ue se e%al)anlas e4presiones
◦ #rimarios
◦ Unarios
◦ Multiplicati%os
◦ @diti%os
◦ De corrimiento
◦ 8elacionales y de tipo
◦ De e:uidad◦ Aógicos, &ondicionales y de nulidad
◦ De asignación y funcionales
Primarios @[G narios
-
8/16/2019 Programacion II - Clase.pptx
35/41
35
@[G
4II
G
;eC
*ypeof
&eced
UnceJed
Default
Delegate
IG
G
LG
G
G
@Cait
NG
?G6
u 0s s s
-
8/16/2019 Programacion II - Clase.pptx
36/41
s
36
4 ? y
4 y
4 P y
s s
4 Q y
4 K y
4 QR y
4 QR y
$s
as
4 KK y
4 QQ y
(ui!a! Lógicos es
-
8/16/2019 Programacion II - Clase.pptx
37/41
(
37
G RRy
GL R y
g es
4 N y
4 S y
4 T y
4 NN y
4 >> y
"
Denuli!a!
4 y
4 6 y
De asignación ) *uncionales
-
8/16/2019 Programacion II - Clase.pptx
38/41
g )
38
G R H
G IR H
G R H
G ?R H
G R H
G PR H
G NR H
G .R H
G TR H
G QQR H
G KKR H
RK
+anejo !e eFcepciones
-
8/16/2019 Programacion II - Clase.pptx
39/41
j p
39
Aas e4cepciones son errores de ejecución representados
como objetos6 Aos objetos se pueden manejar usando el blo:ue
*ry
{
V
}&atc [
{
666
}
['nally{
V
}
-
8/16/2019 Programacion II - Clase.pptx
40/41
-
8/16/2019 Programacion II - Clase.pptx
41/41
41