Está en la página 1de 45

Clase I

[nombre instructor] [fecha]

Agenda

Presentacin del curso Programacin Orientada a Objetos


Conceptos Fundamentales Herencia, Encapsulamiento, Polimorfismo Qu es el Framework? Common Language Runtime MSIL

.NET Framework 2.0


Agenda

Presentacin del curso Programacin Orientada a Objetos


Conceptos Fundamentales Herencia, Encapsulamiento, Polimorfismo Qu es el Framework? Common Language Runtime MSIL

.NET Framework 2.0


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?


Es una manera de construir Software basada en un nuevo paradigma. Propone resolver problemas de la realidad a travs de identificar objetos y relaciones de colaboracin entre ellos. El Objeto y el mensaje son sus elementos fundamentales.

POO

Qu es lo que ves?

POO

Qu es lo que ves?

POO

Qu es lo que ves?

POO

Qu es lo que tienen en comn?

POO

Qu es lo que tienen en comn?

POO

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

POO

Qu es una clase?

Construccin Esttica Describe:

Comportamiento comn Atributos [estado]

Estructura de datos Incluye:


Datos Funciones o mtodos

POO

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

POO

Qu es un objeto?

POO

Qu es un objeto?

Instancia de una clase Un objeto posee:

POO

Identidad: Relacin nica entre el objeto del modelo y el ente de la realidad que representa. Se implementa a travs de un id nico en el modelo. Comportamiento: Resuelve un conjunto particular de problemas a travs de su protocolo. Estado: Almacena informacin

Fija Variable

Demo
Modelizando el mundo real

POO

Pilares de POO

Herencia

Polimorfismo

Encapsulamiento

Abstraccin

POO

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

POO

Encapsulamiento

Acelera()
velocidad Frena()

POO

Por qu utilizar encapsulamiento?

Dos grandes razones


Control Cambio

POO

Encapsulamiento

Acelera()
velocidad Frena()

Los mtodos son pblicos: son accesibles desde fuera Los datos son privados: accesibles desde dentro

Controlador del Motor


POO

Datos del Objeto

Describe los objetos de forma individual


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

Color: Verde Color 2: Negro Instrumental digital 2 asientos

POO

Datos Estticos

Describen informacin para todos los objetos

Nmero de llantas: 4 Capacidad del tanque: 40 litros Tipo de Transmisin: Automtica

POO

Mtodos Estticos

Solo pueden acceder a datos compartidos por todas las instancias de la clase. Encapsula los datos estticos Son invocados en la clase, no en el objeto

No es necesaria la creacin de una instancia para invocarlos

POO

Mtodos Estticos

llantas tanque transmision NumeroLlantas() CapacidadTanque() TipoTransmision()

Automvil
POO

Herencia

Es un tipo de relacin

Relacin es un
Transporte


POO

Entre Clases Va de la generalizacin a la especializacin Clase base Clase derivada Hereda la implementacin

Acelera Frena

Automvil

Jerarquas de Clase
Transporte

Martimo

Aire

Nieve

Tierra

DentroAtmosfera

FueraAtmosfera

1-Persona

N-Personas

POO

Jerarquas de Clase Otro ejemplo


Cuentas

Cuenta Corriente

Caja Ahorro

Comn

Sueldo

POO

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


Nieve

1-Persona

Terrestre

POO

Laboratorio
Creando clases

POO

Polimorfismo y sobrecarga

Polimorfismo: desconocimiento del cliente sobre la clase concreta del objeto que brinda el servicio. Esto me da libertad de intercambiar libremente el objeto servidor. Sobrecarga: Definir ms de un mtodo por cada mensaje, los tipos de los argumentos ayudan a decidir a qu mensaje se invoca. Tareas similares son realizadas por mtodos con mismo nombre

Suma

Enteros Decimales Fracciones

POO

Simplifican la tarea del desarrollador, al no tener que recordar distintos nombres para comportamientos iguales.

Polimorfismo

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
Auto Acelera Frena

Transporte Acelera Frena

Cohete Acelera Frena

POO

Caballo Acelera Frena

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

POO

Resumen

POO

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

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?

.NET Framework

Marco de trabajo Puede estar compuesto por Libreras de clases Documentacin Ayuda Ejemplos Tutoriales Etc.

Qu es Framework 2.0?
Herramientas de Desarrollo

Clientes

Bases de Datos

Aplicaciones Web ASP.NET

.NET Framework

.NET Framework

Servicios Web XML

Aplicaciones de Usuario

VB

C++

C#

J#

Common Language Specification Visual Studio .NET ASP .NET


Web Forms Web Services ASP.NET Mobile Controls

Windows Forms

ADO .NET and XML


Base Class Library .NET Framework Common Language Runtime Operating System

Qu problemas resuelve .NET?


.NET Framework

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

.NET Framework

.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)

CLR Common Language Runtime


.NET Framework

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

Componentes de CLR
.NET Framework Class Library Support

Thread Support Type Checker


Security Engine MSIL to Native Compilers Code Manager

COM Marshaler Exception Manager


Debug Engine Garbage Collector

.NET Framework

Class Loader

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

.NET Framework

Tipos de VALOR y de REFERENCIA

Microsoft Intermediate Language (MSIL)

.NET Framework

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

Resumen

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

.NET Framework

También podría gustarte