Sunteți pe pagina 1din 35

Desarrollo de Aplicaciones I

Apunte 1

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

Programacin Orientada a Objetos


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

.NET Framework 2.0


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

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

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

Qu es un Framework?

.NET Framework

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

Qu es Framework ?
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

S-ar putea să vă placă și