Вы находитесь на странице: 1из 31

Clase I

Yasna Meza Hidalgo


Agosto 2008

Agenda
Presentación del curso
Programación Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
¿Qué
Qué es el Framework?
Common Language Runtime
MSIL

<footer> 1
Agenda
Presentación del curso
Programación Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
¿Qué
Qué es el Framework?
Common Language Runtime
MSIL

Presentación

Programa de Pasantias
Programa Desarrollador 5 Estrellas 2005
Cómo usar el contenido del curso
Programa de Empleos
Presentació
Presentaci ón

<footer> 2
Programa de Pasantias
Formación de Desarrolladores en .NET
+Valor
+Posibilidades
+Empleo
Contenido, Programa Desarrollador 5 Estrellas 2005
(hasta la 2da estrella)
Exámenes
Programa DCE2005 , 2da Estrella Aprobada
Asistencia al entrenamiento presencial (80%) de las 16
clases
Presentació
Presentaci ón

Programa de Pasantias
Presentació
Presentaci ón

<footer> 3
Programa Desarrollador 5 Estrellas 2005

Es un conjunto de herramientas que te permiten


aprender y desarrollar tus habilidades en la
tecnología .NET
En qué consiste:
Cursos Gratuitos en Internet
Exámenes de evaluación
Comunidad de Profesionales en desarrollo
Alto reconocimiento del mercado
Presentació
Presentaci ón

Programa Desarrollador 5 Estrellas 2005


Presentació
Presentaci ón

<footer> 4
Cómo usar el contenido del curso

Regístrese en DCE2005 www.dce2005.com


Leer el contenido y realizar las prácticas
Materiales:
.NET Esencial
Fundamentos de la Programación
Programación Orientados a Objetos
Primera Estrella
.NET Framework 2.0
Introducción a C# 2005
Introducción a VB.NET 2005
Segunda Estrella
Presentacióón

Programación Web con C# 2005


Presentaci

Programación Web con VB.NET 2005

Cómo usar el contenido del curso

Registrarse con datos reales


Cuenta asociada con .net passport
Esos datos serán luego usados en el programa de empleo
Registrarse con el código de institución
No rendir los exámenes hasta que estén preparados
Usar Foros, chats, y los recursos que encuentren en el sitio
dce2005
Presentació
Presentaci ón

<footer> 5
Programa de Empleos

Oportunidades de Empleos
Sitio de empleos .net
Para quienes completen y aprueben el curso
Trabajo en Socios de Negocios
Presentació
Presentaci ón

Temas a desarrollarse en el Curso


Introducción al Programa
Programación 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
Presentació
Presentaci ón

Seguridad

<footer> 6
Agenda
Presentación del curso
Programación Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento,
Polimorfismo
.NET Framework 2.0
¿Qué
Qué es el Framework?
Common Language Runtime
MSIL

¿Qué es la Programación Orientada a


Objetos?

Una serie de normas para mejorar la


programación
Se basa en la idea natural de un mundo
lleno de objetos
El Objeto es su elemento fundamental
POO

<footer> 7
¿Qué es lo que ves?
POO

¿Qué es lo que ves?


POO

<footer> 8
¿Qué es lo que ves?
POO

¿Qué es lo que tienen en común?


POO

<footer> 9
¿Qué es lo que tienen en común?
POO

¿ Qué es una clase?


¿Qué

Clase Clasificaci
Clasificación
ón
Clasificaci
Clasificación
ón en base a
comportamiento y atributos comunes
Crea un vocabulario
La forma en que nos comunicamos
La forma en que pensamos
POO

<footer> 10
¿ Qué es una clase?
¿Qué

Construcci
Construcción
ón Est
Estática
ática
Describe:
Comportamiento comú
común
común
Atributos [estado]
Estructura de datos
Incluye:
Datos
Funciones o mé
métodos
métodos
POO

Constructor y Destructor

Dos mmétodos
étodos 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
POO

<footer> 11
¿ Qué es un objeto?
¿Qué
POO

¿ Qué es un objeto?
¿Qué

Instancia de una clase


Un objeto posee:
Identidad: Es diferenciable entre uno y
otro
Comportamiento: Realiza tareas
especí
específicas
espec íficas
Estado: Almacena informació
información
informaci ón
Fija
Variable
POO

<footer> 12
Demo
•Modelizando el mundo real
POO

Pilares de POO

Herencia Polimorfismo Encapsulamiento

Abstracció
Abstracción
POO

<footer> 13
Abstracci ón
Abstracción
Ignorancia selectiva
Decide qué
qué 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 encapsulació
encapsulación
encapsulaci ón para reforzar la
abstracció
abstracción
abstracción
POO

Encapsulamiento

Acelera()

velocidad

Frena()
POO

<footer> 14
Encapsulamiento

Acelera() 12
5k
m/h

velocidad

Frena()
POO

Encapsulamiento

Acelera()

velocidad

Frena() 40 km
/h
POO

<footer> 15
Encapsulamiento

Acelera()
300 km/h
velocidad

Frena()
POO

¿Por qué utilizar encapsulamiento?


Dos grandes razones
Control
Cambio
POO

<footer> 16
Encapsulamiento

Acelera()

velocidad

Frena()
POO

Encapsulamiento

Acelera()

velocidad

Frena()

Controlador del Motor


POO

<footer> 17
Encapsulamiento

Acelera()

velocidad

Frena()

Controlador del Motor


POO

Encapsulamiento

Los mé
métodos
m étodos
Acelera() son púpúblicos:
públicos:
son accesibles
desde fuera
velocidad Los datos son
privados:
Frena() accesibles
desde dentro

Controlador del Motor


POO

<footer> 18
Datos del Objeto
Describe los objetos de forma individual
Color: Azul
Color 2: Gris
Instrumental Digital
Ventanas elé
eléctricas
eléctricas
4 asientos

Color: Verde
Color 2: Negro
Instrumental digital
2 asientos
POO

Datos Est áticos


Estáticos

Describen informació
información
información para todos los objetos

N
Número
úmero de llantas: 4
Capacidad del tanque: 40
litros
Tipo de Transmisió
Transmisión:
Transmisión:
Automá
Automática
Autom ática
POO

<footer> 19
M étodos Est
Métodos áticos
Estáticos

S
Sólo
ólo pueden acceder a datos est
estáticos
áticos
Encapsula los datos est
estáticos
áticos
Son invocados en la clase, no en el
objeto
No es necesaria la creació
creación
creación de una
instancia para invocarlos
POO

M étodos Est
Métodos áticos
Estáticos

llantas
tanque
transmision

Automóvil
POO

<footer> 20
M étodos Est
Métodos áticos
Estáticos

llantas
tanque
transmision

NumeroLlantas()
CapacidadTanque()
TipoTransmision()

Automóvil
POO

M étodos Est
Métodos áticos
Estáticos

llantas
tanque
transmision

NumeroLlantas()
CapacidadTanque()
TipoTransmision()

Automóvil
POO

<footer> 21
Herencia

Es ““un
un tipo de
de”” relaci
relación
ón
Relació
Relación
Relación ““es
es un”
un”
Entre Clases Transporte

Va de la generalizaci
generalización
ón a la Acelera

especializaci
especialización
ón Frena

Clase base Automóvil

Clase derivada
Hereda la implementaci
implementación ón
POO

Jerarqu ías de Clase


Jerarquías
Transporte

Marítimo Aire Nieve Tierra

DentroAtmosfera FueraAtmosfera 1-Persona N-Personas


POO

<footer> 22
Jerarqu ías de Clase – Otro ejemplo
Jerarquías

Cuentas

Cuenta Corriente Caja Ahorro

Común Sueldo
POO

Herencia Múltiple

Singular: La clase hija deriva de una ú única


nica clase
padre
M
Múltiple:
últiple: La clase hija deriva de varias clases padre
No es soportada por todos los lenguajes
Puede ser confusa
Nieve 1-Persona Terrestre
POO

<footer> 23
Laboratorio
•Creando clases
POO

Polimorfismo - Overload

Literalmente significa tomar varias formas


Tareas similares son realizadas por mé métodos
métodos con
mismo nombre
Suma
Enteros
Decimales
Fracciones
Simplifican la tarea del desarrollador, al no tener
que recordar distintos nombres para
comportamientos iguales.
POO

<footer> 24
Polimorfismo

La definició
definición
definición del mé
método
m étodo reside en la clase base
La implementació
implementación
implementaci ón del mé
método
m étodo reside en la clase derivada
La invocació
invocación
invocaci ón es resuelta al momento de ejecució
ejecución
ejecución
Early binding
Late binding

Auto
Acelera
Frena

Cohete
Acelera
Frena
Transporte

Acelera
Frena

Caballo
Acelera
POO

Frena

Clases Base Abstractas

Existen solamente para que se


deriven de ellas
No tiene sentido crear una instancia de
este tipo de clases
M
Métodos
étodos abstractos
Clases abstractas – Concrete classes
Automóvil
Color
Asientos
Transporte
Acelera
frena ?
POO

<footer> 25
Resumen
¿Qué es la Programación Orientada
a Objetos?
Clases y Objetos
Métodos y Atributos
Encapsulamiento
Herencia
Polimorfismo
POO

Agenda
Presentación del curso
Programación Orientada a Objetos
Conceptos Fundamentales
Herencia, Encapsulamiento, Polimorfismo
.NET Framework 2.0
¿Qué es el Framework?
Common Language Runtime
MSIL

<footer> 26
¿Qué es un Framework?
Marco de trabajo
Puede estar compuesto por
Librerías de clases
Documentación
Ayuda
Ejemplos
Tutoriales
.NET Framework

Etc.

¿Qué es Framework 2.0?

Herramientas Clientes
de Desarrollo

Aplicaciones
Bases de Datos Web ASP.NET
.NET Framework

Servicios Aplicaciones
.NET Web XML de Usuario
Framework

<footer> 27
VB C++ C# J# …

Common Language Specification

Visual Studio .NET


ASP .NET Windows
Web Forms Web Services
Forms
ASP.NET Mobile Controls

ADO .NET and XML

Base Class Library

Common Language Runtime


.NET Framework

Operating System

¿Qué problemas resuelve .NET?

Desde Internet, muchas aplicaciones y


dispositivos están fuertemente
comunicados entre sí
Los programadores escribían
arquitectura en lugar de aplicaciones
Los programadores tenían
conocimientos limitados o debían
aprender nuevos lenguajes
.NET Framework

<footer> 28
.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 aplicació
aplicación sea
desarrollada mediante herramientas
comunes haciendo la integració
integración mucho
más simple.
El .NET Framework está
está compuesto de:
El CLR (Common Language Runtime)
.NET Framework

La BCL (Base Class Library)

CLR – Common Language Runtime


El CLR es el motor de ejecució
ejecución (runtime)
del .NET Framework.
Ofrece servicios automá
automáticos tales como:
Administració
Administración de la memoria
Seguridad del có código, asegurando:
Conversió
Conversión de tipos
Inicializació
Inicialización de variables
Indexació
Indexación de arreglos fuera de sus
límites
.NET Framework

Versionamiento

<footer> 29
Componentes de CLR

.NET Framework Class Library Support

Thread Support COM Marshaler

Type Checker Exception Manager

Security Engine Debug Engine

MSIL to Native Code Garbage


Compilers Manager Collector
.NET Framework

Class Loader

CTS (Common Type System)


Define un conjunto comú común
com ún de ““tipos”
tipos”
tipos”
orientado a objetos
Todo lenguaje de programació
programación
programaci ón debe
implementar los tipos definidos por el CTS

Todo tipo hereda


directa o
indirectamente del
tipo OBJECT
.NET Framework

Tipos de VALOR y
de REFERENCIA

<footer> 30
Microsoft Intermediate Language (MSIL)

El compilador convierte al cócódigo soportado por


.NET en lenguaje intermedio.
Es un conjunto de instrucciones independientes de
la CPU, que se convierten en có código nativo al
ejecutarse.
Para convertir MSIL a có código nativo, se utilizan
compiladores llamados “Just In Time”
Time” JIT
Los archivos ejecutables está
están conformados por
MSIL
.NET Framework

Datos Adicionales (Metadata


(Metadata))
El MSIL es independiente del lenguaje en el que se
desarrolla

Resumen
¿Qué es el .NET Framework?
Common Language Runtime
Common Type System
Microsoft Intermediate Language
.NET Framework

<footer> 31

Вам также может понравиться