Escolar Documentos
Profissional Documentos
Cultura Documentos
NET
CAPTULO 1
INTRODUCCIN AL
PARADIMA ORIENTADO A
OBJETOS
Preguntas detonadoras
Qu es una clase?
Qu es un objeto?
Representa lo mismo una clase que un objeto?
Diversos objetos creados a partir de la misma clase, son
iguales?
Qu significa el trmino instancia?
Cmo se logra que un objeto almacene datos y tambin
realice acciones?
Qu es un atributo, propiedad y mtodo?
Cul es la diferencia entre atributo y propiedad?
Cmo se disea el modelo de una aplicacin orientada a
objetos?
3
2. Diseo: Cmo ?
Cmo atacar el problema?
Cmo plantear el modelo de solucin?
Cmo aplicar el modelo de solucin?
3. Implementacin: Con qu ?
Con qu lenguaje se desarrolla el modelo?
Con qu plataforma de desarrollo?
Con qu recursos de hardware y software?
4
La POO es
Un mtodo de implementacin en el que los
programas se organizan como colecciones
cooperativas de objetos, cada uno de los cuales
representa una instancia de alguna clase y cuyas
clases son todas miembros de una jerarqua de
clases unidas mediante relaciones
Grady Booch
El modelo de Objetos
Objetos en el mundo real
Atributos
Propiedades
Mtodos
Abstraccin
Clases y Objetos
Encapsulamiento
Mensajes
Constructores
Destructor
Herencia
Simple
Mltiple
Clases abstractas
Clases parametrizadas
Interfaces
sobrescritura
Sobrecarga
Polimorfismo
9
Lavadora
Televisin
Perro
Persona
Factura
10
Podemos darnos
cuenta que
Ejemplo: PERRO
Caractersticas:
Nombre: FIDO
Raza: Chihuahua
Color: Caf
.etc
Acciones:
Ladrar [Guau Guau]
Comer [Chomp Chomp]
Dormir [Zzzzzzzz]
etc
12
13
ESTADO
Acciones que
puede realizar
(Mtodos)
COMPORTAMIENTO
Pertenece
a una clase
y tiene un
nombre
nico
IDENTIDAD
14
Abstraccin
Se refiere a quitar atributos, propiedades y mtodos de un objeto y
quedarse solo con aquellos que sean necesarios (relevantes para el
problema a solucionar).
FIDO : Perro
Nombre: FIDO
Raza: Chihuahua
Color: Caf
Ntese que en la
Abstraccin
del perro
quitamos varias
caractersticas y
acciones.
Ladrar()
Objeto Perro Real:
Comer()
Caractersticas o atributos:
Dormir()
(Nombre, Raza, Color, Edad, Tamao, etc.)
Abstraccin de un Perro
Acciones o mtodos:
(Ladrar, Comer, Dormir, Jugar, Caminar, etc.)
15
Abstraccin
16
Abstraccin
17
Encapsulamiento
Permite incluir en una sola entidad
informacin y operaciones que controlan dicha
informacin.
Permite:
Componentes pblicos [Accesibles, Visibles].
Componentes privados [No accesibles, Ocultos].
Restriccin de accesos indebidos.
18
Encapsulamiento
19
Ejemplo: Encapsulamiento
La Televisin oculta algunos
componentes y operaciones
de la persona que la ve.
10
Ejemplo Encapsulamiento
Componentes privados - Ocultos
(NO Accesibles desde el exterior)
Circuitos, cables
21
11
Mensajes: Comunicacin
entre objetos
Mensaje.- Orden que se enva al objeto para indicarle
realizar una accin.
Mensaje.- Llamada a un mtodo (o funcin) del
objeto.
23
Clase
Es una descripcin de las
caractersticas y acciones para un tipo
de objetos.
Una clase NO es un objeto. Es solo
una plantilla, plano o definicin para
crear objetos.
24
12
Clase
Contiene todas las caractersticas comunes de
ese conjunto de objetos
Clase = Modelo = Plantilla = Esquema =
Descripcin de la anatoma de los objetos.
A partir de una clase se pueden crear muchos
objetos independientes con las mismas
caractersticas.
25
Objeto
Unidad que combina datos y funciones.
Datos = Atributos = Caractersticas
Funciones = Mtodos = Procedimientos =Acciones
13
Instancia
Es la creacin o manifestacin concreta de un
objeto a partir de su clase
27
Clases y Objetos
FIDO es UN PERRO
FIDO es del TIPO PERRO
FIDO es un OBJETO
PERRO es la CLASE de FIDO
CHESTER es OTRO PERRO
CHESTER tambin es del TIPO PERRO
CHESTER es otro OBJETO
PERRO tambin es la clase de CHESTER
28
14
Atributos
Representan los datos de los
objetos
Son controlados a travs de la
declaracin de variables
Es importante identificar el
tipo de dato
Se debe seleccionar slo
aquellos atributos necesarios
para el modelo planteado
(abstraccin)
29
Variables
Atributos
De instancia
De clase (estticas)
30
15
Ejemplo: Atributos de un
estudiante
Atributos:
claveMatrcula: A-233
nombre: Bruno Lpez Takeyas
grado: 3
grupo: A
promedio: 87.4
string claveMatricula;
string nombre;
int grado;
char grupo;
float promedio;
31
Mtodos
Son las acciones que realizan los objetos y definen su
comportamiento
Atributos:
claveMatrcula: A-233
nombre: Bruno Lpez Takeyas
grado: 3
grupo: A
promedio: 87.4
void Leer()
void Investigar()
Acciones:
Leer()
Investigar()
32
16
Propiedades
Son mecanismos que permiten acceder a los atributos
de un objeto.
Algunos autores asumen que las propiedades son
sinnimos de los datos
En un sentido estricto, las propiedades actan como
un canal de comunicacin para acceder a un atributo,
ya sea para consultar o modificar su valor.
Descriptores de acceso: get y set.
33
Anatoma de un mensaje
Identidad del receptor
Mtodo que ha de ejecutar
Informacin especial (argumentos o parmetros)
Ejemplos:
miTelevision.Encender( )
miTelevision.Apagar( )
miTelevision.CambiarCanal( 45 )
miPerro.Comer(Croquetas)
miEmpleado.Contratar (Juan, 3500)
miFactura.Imprimir( )
34
17
Atributos Pblicos
Mtodos Privados
1. El mtodo
Encender se
invoca por un
mensaje de
otro objeto
(una Persona)
Activar_Imagen
Energizar_Circuit
os
Mtodos Pblicos
Encender
3. Energizar_Circuitos
Llama a
Activar_Imagen
envindole un mensaje.
2. Encender llama a
Energizar_Circuitos
envindole un mensaje.
35
Constructores y Destructores
Los objetos ocupan espacio en memoria; existen
en el tiempo y deben crearse [instanciarse] y
destruirse:
Constructor.- Operacin que
crea
un objeto y/o inicializa su estado.
Destructor.- Operacin que
libera el estado de un objeto y/o
destruye el propio objeto.
36
18
Herencia
Aparato_Electrodomestico
(Atributos:
Interruptor,
CableElectrico
Mtodos:
Encender, Apagar)
Herendan caractersticas de
Aparato_Electrodomestico
e incorporan las suyas propias.
Lavadora
Atributos:
(Interruptor, CableElectrico,
PerillaDeCiclosDeLavado,
CapacidadDeCarga)
Mtodos:
(Encender, Apagar,
LlenarConAgua, TirarAgua)
Televisin
Atributos:
(Interruptor, CableElectrico,
BotonDeCanales, BotonDeVolumen)
Mtodos:
(Encender, Apagar,
CambiarVolumen, CambiarCanal)
38
19
Herencia
Capacidad para utilizar caractersticas previstas en
antepasados o ascendientes.
Permite construir nuevas clases a partir de otras ya
existentes, permitiendo que stas les transmitan
sus propiedades.
Objetivo: Reutilizacin de cdigo.
39
Caracterstica B
Caracterstica A
Caracterstica A
Caracterstica A
Caracterstica B
Caracterstica B
Caracterstica B
Caracterstica Y
Caracterstica X
Caracterstica Z
Caracterstica W
20
Herencia
41
Tipos de Herencia
Herencia Simple.- Una clase puede tener
slo un ascendiente. [Una subclase puede
heredar de una nica clase].
Herencia mltiple (en malla).- Una clase
puede tener ms de un ascendiente
inmediato. [Heredar de ms de una clase].
42
21
Herencia simple
Ejemplo 1
Figura
Crculo
Rectngulo
Tringulo
Rectngulo
redondeado
Ejemplo 2
43
Herencia mltiple
Ejemplo 1
Persona
Profesor
Investigador
Profesor
universitario
Ejemplo 2
44
22
Clase abstracta
Comida
Sopa de fideo
Pavo
Ensalada Cesar
Pay de manzana
Asado
La Comida como tal, es solo un concepto abstracto que NO puede instanciarse.
Existen muchos alimentos que heredan sus caractersticas y
ellos SI pueden existir por s mismos.
Comida es una clase Abstracta.
45
Clase abstracta
Es una clase que sirve como clase base comn, pero
NO puede tener instancias.
Una clase abstracta solo puede servir como clase base
(solo se puede heredar de ella).
Sus clases hijas SI pueden tener instancias.
46
23
Clase base
Metodos:
Abrir ( )
...
Herencia
Un libro y una Laptop se
abren de diferente manera.
miLibro.Abrir ( )
miLaptop.Abrir ( )
48
24
Sobrecarga [ Overload ]
La sobrecarga representa diferentes maneras de realizar una
misma accin.
En los programas se usa el mismo nombre en diferentes
mtodos con diferentes firmas [nmero, orden y tipo de los
parmetros].
El cdigo de programacin asociado a cada sobrecarga puede
variar.
Ejemplos:
miEmpleado.Contratar(Juan, Ventas, 2500)
miEmpleado.Contratar(Juan)
miEmpleado.Contratar(Juan, 2500)
49
miPuerta.Abrir ( )
50
25
Polimorfismo
Se refiere a:
1. Es el uso de un mismo nombre para representar o
significar ms de una accin.
La sobrecarga es un tipo de Polimorfismo.
2.
Polimorfismo
POLI = Mltiples MORFISMO = Formas
ObjetoEnFormaDeCaja
miRefrigerador.Abrir( Puerta de Abajo )
miRefrigerador.Abrir( Puerta de Arriba , Mitad )
miRegalo.Abrir( )
miCofre.Abrir( )
52
26
Software
NClass es software para el diseo de
diagramas de clases.
Puede descargarse de manera gratuita en:
http://nclass.sourceforge.net
53
takeyas@itnuevolaredo.edu.mx
27