Sie sind auf Seite 1von 54

Clase I

Agenda
Presentacin del curso
Programacin Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
Qu es el Framework?
Common Language Runtime
MSIL
Agenda
Presentacin del curso
Programacin Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
Qu es el Framework?
Common Language Runtime
MSIL
Programa de Pasantias
Programa Desarrollador 5 Estrellas 2005
Como usar el contenido del curso
Programa de Empleos
Presentacin
P
r
e
s
e
n
t
a
c
i

n

Programa de Pasantias
Formacin de Desarrolladores en .NET
+Valor
+Posibilidades
+Empleo
Contenido, Programa Desarrollador 5 Estrellas 2005
(hasta la 2da estrella)
Exmenes
Programa DCE2005 , 2da Estrella Aprobada
Asistencia al entrenamiento presencial (80%) de las 16
clases
P
r
e
s
e
n
t
a
c
i

n

Programa de Pasantias
P
r
e
s
e
n
t
a
c
i

n

Programa Desarrollador 5 Estrellas 2005
Es un conjunto de herramientas que te permiten
aprender y desarrollar tus habilidades en la
tecnologia .NET
En que Consiste:
Cursos Gratuitos en Internet
Exmenes de evaluacin
Comunidad de Profesionales en desarrollo
Alto reconicimiento del mercado

P
r
e
s
e
n
t
a
c
i

n

Programa Desarrollador 5 Estrellas 2005
P
r
e
s
e
n
t
a
c
i

n

Como usar el contenido del curso
Registrese en DCE2005 www.dce2005.com
Leer el contenido y realizar las prcticas
Materiales:
.NET Escencial
Fundamentos de la Programacin
Programacin Orientados a Objetos
Primera Estrella
.NET Framework 2.0
Introduccin a C# 2005
Introduccin a VB.NET 2005
Segunda Estrella
Programacin Web con C# 2005
Programacin Web con VB.NET 2005
P
r
e
s
e
n
t
a
c
i

n

Como usar el contenido del curso
Registrarse con datos reales
Cuenta asociada con .net passport
Esos datos sern luego usados en el programa de empleo
Registrarse con el cdigo de institucin
No rendir los exmenes hasta que esten preparados
Usar Foros, chats, y los recursos que encuentren en el sitio
dce2005
P
r
e
s
e
n
t
a
c
i

n

Programa de Empleos
Oportunidades de Empleos
Sitio de empleos .net
Para quienes completen y aprueben el curso
Trabajo en Socios de Negocios
P
r
e
s
e
n
t
a
c
i

n

Temas a desarrollarse en el Curso
Introduccin al Programa
Programacin Orientado a Objetos y Servicios
Microsoft .Net Framework v2.0
IDE VisualStudio.Net 2005
Sintaxis del Lenguaje (C# y VB.NET)
SQL Server 2005
Sentencias SQL
ADO.NET 2.0
BCL (Base Class Library)
ASP.NET 2.0
ASP.NET WebService
Seguridad
P
r
e
s
e
n
t
a
c
i

n

Agenda
Presentacin del curso
Programacin Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento,
Polimorfismo
.NET Framework 2.0
Qu es el Framework?
Common Language Runtime
MSIL
Qu es la Programacin Orientada a
Objetos?
Una serie de normas para mejorar la
programacin
Se basa en la idea natural de un mundo
lleno de objetos
El Objeto es su elemento fundamental

P
O
O

Qu es lo que ves?
P
O
O

Qu es lo que ves?
P
O
O

Qu es lo que ves?
P
O
O

Qu es lo que tienen en comn?
P
O
O

Qu es lo que tienen en comn?
P
O
O

Qu es una clase?
Clase Clasificacin
Clasificacin en base a
comportamiento y atributos comunes
Crea un vocabulario
La forma en que nos comunicamos
La forma en que pensamos
P
O
O

Qu es una clase?
Construccin Esttica
Describe:
Comportamiento comn
Atributos [estado]
Estructura de datos
Incluye:
Datos
Funciones o mtodos
P
O
O

Constructor y Destructor
Dos mtodos de las clases
Existen por defecto
Constructor, inicializa valores
Destructor, libera recursos al finalizar
la vida de una instancia de una clase
creada en memoria
Existen constructores y destructores
por defecto

P
O
O

Qu es un objeto?
P
O
O

Instancia de una clase
Un objeto posee:
Identidad: Es diferenciable entre uno y
otro
Comportamiento: Realiza tareas
especficas
Estado: Almacena informacin
Fija
Variable
Qu es un objeto?
P
O
O

Demo
Modelizando el mundo real

P
O
O

Pilares de POO
Polimorfismo
Herencia
Abstraccin
Encapsulamiento
P
O
O

Abstraccin
Ignorancia selectiva
Decide que es importante y que no lo es
Se enfoca [depende] en lo que es importante
Ignora [no depende] de lo que no es
importante
Utiliza la encapsulacin para reforzar la
abstraccin
P
O
O

Encapsulamiento
Acelera()
velocidad
Frena()
P
O
O

Por qu utilizar encapsulamiento?
Dos grandes razones
Control
Cambio
P
O
O

Encapsulamiento
Los mtodos
son pblicos:
son accesibles
desde fuera
Los datos son
privados:
accesibles
desde dentro
Acelera()
velocidad
Frena()
Controlador del Motor
P
O
O

Color: zul
Color 2: Gris
Instrumental Digital
Ventanas elctricas
4 asientos

Color: Verde
Color 2: Negro
Instrumental digital
2 asientos
Describe los objetos de forma individual
Datos del Objeto
P
O
O

Datos Estticos
Nmero de llantas: 4
Capacidad del tanque: 40
litros
Tipo de Transmisin:
Automtica
Describen informacin para todos los objetos
P
O
O

Mtodos Estticos
Solo pueden acceder a datos estticos
Encapsula los datos estticos
Son invocados en la clase, no en el
objeto
No es necesaria la creacin de una
instancia para invocarlos
P
O
O

Mtodos Estticos
Automvil
NumeroLlantas()
CapacidadTanque()
TipoTransmision()
llantas
tanque
transmision
P
O
O

Herencia
Es un tipo de relacin
Relacin es un
Entre Clases
Va de la generalizacin a la
especializacin
Clase base
Clase derivada
Hereda la implementacin
Automvil
Transporte
Acelera
Frena
P
O
O

Jerarquas de Clase
Transporte
Martimo Aire Nieve Tierra
DentroAtmosfera FueraAtmosfera 1-Persona N-Personas
P
O
O

Jerarquas de Clase Otro ejemplo
Cuentas
Cuenta Corriente Caja Ahorro
Comn Sueldo
P
O
O

Herencia Mltiple
Singular: La clase hija deriva de una nica clase
padre
Mltiple: La clase hija deriva de varias clases padre
No es soportada por todos los lenguajes
Puede ser confusa
1-Persona
Terrestre
Nieve
P
O
O

Laboratorio
Creando clases

P
O
O

Literalmente significa tomar varias formas
Tareas similares son realizadas por mtodos con
mismo nombre
Suma
Enteros
Decimales
Fracciones
Simplifican la tarea del desarrollador, al no tener
que recordar distintos nombres para
comportamientos iguales.
Polimorfismo - Overload
P
O
O

La definicin del mtodo reside en la clase base
La implementacin del mtodo reside en la clase derivada
La invocacin es resuelta al momento de ejecucin
Early binding
Late binding
Polimorfismo
Cohete
Acelera
Frena
Transporte
Acelera
Frena
Auto
Acelera
Frena
Caballo
Acelera
Frena
P
O
O

Clases Base Abstractas
Existen solamente para que se
deriven de ellas
No tiene sentido crear una instancia de
este tipo de clases
Mtodos abstractos
Clases abstractas Concrete classes
Automvil
Color
Asientos
Transporte
Acelera
frena
?
P
O
O

Resumen
Qu es la Programacin Orientada
a Objetos?
Clases y Objetos
Mtodos y Atributos
Encapsulamiento
Herencia
Polimorfismo
P
O
O

Agenda
Presentacin del curso
Programacin Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
Qu es el Framework?
Common Language Runtime
MSIL
Qu es un Framework?
Marco de trabajo
Puede estar compuesto por
Libreras de clases
Documentacin
Ayuda
Ejemplos
Tutoriales
Etc.

.
N
E
T

F
r
a
m
e
w
o
r
k

Qu es Framework 2.0?
Herramientas
de Desarrollo
Clientes
Aplicaciones
de Usuario
Aplicaciones
Web ASP.NET
Servicios
Web XML
Bases de Datos
.NET
Framework
.
N
E
T

F
r
a
m
e
w
o
r
k

Operating System
Common Language Runtime
Base Class Library
ADO .NET and XML
ASP .NET
Web Forms Web Services
ASP.NET Mobile Controls
Windows
Forms
Common Language Specification
VB C++ C# J#
V
i
s
u
a
l

S
t
u
d
i
o

.
N
E
T

.
N
E
T

F
r
a
m
e
w
o
r
k

Qu problemas resuelve .NET?
Desde Internet, muchas aplicaciones y
dispositivos estn fuertemente
comunicados entre s
Los programadores escriban
arquitectura en lugar de aplicaciones
Los programadores tenan
conocimientos limitados o deban
aprender nuevos lenguajes
.
N
E
T

F
r
a
m
e
w
o
r
k

.NET Framework
El .NET Framework constituye las bases
sobre las que, tanto aplicaciones como
servicios, son ejecutadas y construidas.
La naturaleza unificada del .NET Framework
permite que cualquier tipo de aplicacin sea
desarrollada mediante herramientas
comunes haciendo la integracin mucho
mas simple.
El .NET Framework esta compuesto de:
El CLR (Common Language Runtime)
La BCL (Base Class Library)
.
N
E
T

F
r
a
m
e
w
o
r
k

CLR Common Language Runtime
El CLR es el motor de ejecucin (runtime)
del .NET Framework.
Ofrece servicios automticos tales como:
Administracin de la memoria
Seguridad del cdigo, asegurando:
Conversin de tipos
Inicializacin de variables
Indexacin de arreglos fuera de sus
lmites
Versionamiento
.
N
E
T

F
r
a
m
e
w
o
r
k

Componentes de CLR
.NET Framework Class Library Support
Thread Support COM Marshaler
Type Checker Exception Manager
MSIL to Native
Compilers
Code
Manager
Garbage
Collector
Security Engine Debug Engine
Class Loader
.
N
E
T

F
r
a
m
e
w
o
r
k

CTS (Common Type System)
Define un conjunto comn de tipos
orientado a objetos
Todo lenguaje de programacin debe
implementar los tipos definidos por el CTS
Todo tipo hereda
directa o
indirectamente del
tipo OBJECT
Tipos de VALOR y
de REFERENCIA
.
N
E
T

F
r
a
m
e
w
o
r
k

Microsoft Intermediate Language (MSIL)
El compilador convierte al cdigo soportado por
.NET en lenguaje intermedio.
Es un conjunto de instrucciones independientes de
la CPU, que se convierten en cdigo nativo al
ejecutarse.
Para convertir MSIL a cdigo nativo, se utilizan
compiladores llamados Just In Time JIT
Los archivos ejecutables estan conformados por
MSIL
Datos Adicionales (Metadata)
El MSIL es independiente del lenguaje en el que se
desarrolla
.
N
E
T

F
r
a
m
e
w
o
r
k

Resumen
Qu es el .NET Framework?
Common Language Runtime
Common Type System
Microsoft Intermediate Language
.
N
E
T

F
r
a
m
e
w
o
r
k