Poo

DrMaligno 5,280 views 23 slides Sep 02, 2007
Slide 1
Slide 1 of 23
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23

About This Presentation

Charla de introducción a la programación orientada a objetos realizada en Juan Miguel Hernández Arquero y Manuel Martínez Jiménez.


Slide Content

Ponentes:
Manuel Martínez Jiménez
Juan Miguel Hernández Arquero

I.Objetivos de la charla.
II.Introducción
III.Conceptos básicos (Clase, objeto, paso de
mensajes)
IV.Características de la POO ( Herencia, sobrecarga,
polimorfismo )
V.Conceptos necesarios de C# ( Constructor,
destructor de basura)
VI.Ejemplo en C#.

I.Adquirir unos conocimientos básicos de lo que
es la PROGRAMACIÓN ORIENTADA A OBJETOS.
II.Animar a estudiar esta metodología quitando
miedos.
III.Resolver dudas a los que están empezando.

Los principales objetivos de la POO son:
1.Aumentar la abstracción de los programas para
una mejor comprensión.
2.Modularización de componentes.
3.Reducir la redundancia de código.
4.Reducir los tiempos de implementación.
5.Aumentar la fiabilidad mediante la reutilización
de componentes.

LaProgramaciónOrientadaaObjetos(POOuOOPsegúnsiglas
eninglés)esunparadigmadeprogramaciónquedefinelos
programasentérminosde"clasesdeobjetos",objetosqueson
entidadesquecombinanestado(esdecir,datos),
comportamiento(estoes,procedimientosométodos)eidentidad
(propiedaddelobjetoquelodiferenciadelresto).La
programaciónorientadaaobjetosexpresaunprogramacomoun
conjuntodeestosobjetos,quecolaboranentreellospararealizar
tareas.

Una clase es un tipo de Datos con:
Una serie de características, denominadas ATRIBUTOS.
Un comportamiento definido mediante MÉTODOS.
Haciendo un símil con C podríamos establecer una similitud
entre:
variables atributos
funciones métodos

¿Podemos describir a una persona como una clase?
Atributos :
Color de pelo.
Color de ojos.
Altura.
Peso.
Métodos :
Hablar();
Comer();
Beber();
Andar();
Correr();

¿Qué es un objeto?
Un objeto es la materialización (instanciación)de una clase.
Por tanto, podemos decir que una clase es como una
plantilla a partir de la cual se crean objetos.
Los objetos son las unidades atómicas de los programas.

Un objeto de persona Alba “se crea” (se
instancia) a partir de la idea de persona (la clase)
Empieza a:
Ocupar espacio en el mundo.
Realizar ciertas funciones como respirar o comer.
Tiene los ojos marrones, es rubia, mide 80 cm,
pesa 3,2 kg…

Unareferenciacontienesóloladireccióndememoriaenla
queelobjetoseencuentraalmacenado.
SimilitudconlospunterosdeC.
Persona Pepe, Juan;
Pepe==Juan; //SOLO TRUE SI Pepe Y Juan APUNTAN AL
MISMO OBJETO
Pepe = Juan; //Hace que Pepe apunte a Juan, NO COPIA Juan
en Pepe.

LosobjetossecomunicanporelllamadoPASODEMENSAJES,en
unarelaciónquesedenominaCLIENTELA(equivalenteala
relacióncontiene).
ElPasodemensajesseefectúamedianteelusodelasllamadas
referencias.
Ejemplo:
Alba Habla.
Persona Alba= new Persona(); //Instanciación de la clase
Alba.dice(“HOLA”); // Enviamos un mensaje al objeto señalado por
// Alba para que diga Hola

EnunaclasenoDEBEHABERaccesodirectoatodos
losatributosymétodosdelobjeto,sinoqueeste
accesoserealizaatravésdeciertosmétodosde
visibilidadpública.
Diferenciaciónentrelafuncionalidadquelaclaseofrece
almundoexternoatravésdesuinterfaz(métodosy
atributospúblicos)ylafuncionalidadinternadela
misma(métodosyatributosprivados).

Existenbásicamente3tiposdevisibilidadparaatributosy
métodos:
PUBLICO:Accesibleportodos.
PROTEGIDO:Accesiblesóloporobjetosdelaclaseen
cuestiónyporobjetosdeclasesderivadas.
PRIVADO:Accesiblesóloporobjetosdelamismaclase.

UnodelosobjetivosquesepersigueconlaPOOesla
obtencióndecódigoreutilizable.
Paraellodebecrearsecódigogenérico,aplicableatantas
situacionescomoseaposible.
Laclaveparalacreacióndecódigoreutilizableresideenla
ABSTRACCION.
MediantelaHERENCIAesposibleextenderlafuncionalidad
deestecódigogenéricoparaadaptarlaasituaciones
específicas,reescribiendopartesdelcódigodelmismoo
añadiendofuncionalidad.
Dostiposdeherencia:simpleymúltiple.

Unaclasederivadaheredatodoslosmiembrosdelaclase
baseypuedeaccederalosmiembrospúblicos(public)y
protegidos(protected)delaclaseoclasesbase,comosi
fueranmiembrosdeellamisma.
Unaclasederivadanotieneaccesoalosmiembrosprivados
(private)delaclasebase.

Persona
Dialoga
Ej. de público
Ordenar
Ej. de público
Respira Ej. de
protegido
Tiempo libre
Ej. de privado
Informático
Dialoga
Como cualquier
persona
Ordenar
El lo hace de otra
forma
Programa
Respira
Como cualquier
otra persona

Unamismareferenciapuedeapuntaraobjetosdediferentes
tiposconunaraízcomún.Eltipoespecíficosedeterminaen
tiempodeejecución.
TIPADODINÁMICO.

Unmétodosedicesobrecargadosiexistenvariasversionesdel
mismo,ofreciendotodasunamismafuncionalidadpero
variandoelnúmerodeparámetros.
EjemploUnapersonacome,perosegúnledescubiertos
oledespalilloscomedeunaformaodeotra.Esdecir,nuestra
personatienedosformasdecomer(métodos)perosegúnle
demosunasherramientasuotras(parámetros)estaelige.

Constructor.-Es un método especial de una clase
que es llamado automáticamente siempre que se
crea un objeto de la misma. Su misión es iniciar
los valores de los atributos.
Recolector de basura.-Es un mecanismo de
limpieza de memoria. Cuando un objeto deja de
ser referenciado, este libera la memoria.

Ahora es un buen momento para resolver dudas.
No las dejéis para más tarde porque las dudas es
mejor resolverlas en el momento.

Vamos a ver una implementación en C# del
ejemplo de las personas. Os recomendamos :
Seguirlo con atención.
Pararnos cuando tengáis una duda.
Intentarlo hacer vosotros también.
Y recordar que toda la información de la charla
esta disponible en la página del club:
http://www.clubnetalmeria.com/
Tags