Está en la página 1de 19

TEMA 3

Conceptos fundamentales de
Programacin
Orientada a Objetos.
1 parte

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

CONTENIDOS
1.

2.
3.
4.

5.

Introduccin
Objetos
Clases
Instancias
Anlisis y diseo OO

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

Introduccin

Qu es la POO?
Un mtodo de implementacin en el que los programas se
organizan como colecciones cooperativas de objetos, cada una de las
cuales representan una instancia de alguna clase, y cuyas clases son
todas miembros de una jerarqua de clases unidas mediante
relaciones de herencia Booch.

Programa OO

Coleccin estructurada
de clases

Clase

Implementacin de un TAD

Objeto

Una instancia de una clase


Los objetos se comunican mediante mensajes
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

Trminos
Clase abstracta

Instanciacin

Clase parametrizada

Ocultamiento de informacin
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

Objeto
MUNDO REAL
Un elemento de un sistema fsico
se caracteriza por :
Una IDENTIDAD,
unas CARACTERSTICAS,
un ESTADO,
unos COMPORTAMIENTOS

SIMULACIN INFORMTICA
Un objeto se caracteriza por :
Una IDENTIDAD,
unos DATOS,
unos PROCEDIMIENTOS

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

Objeto

Un paquete de software
independiente formado por
un conjunto de datos junto
con los procedimientos que
operan sobre estos datos.

Mtodos

Atributos

Un objeto puede ser real o


abstracto.

Estructura de un objeto

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

Objeto = Mdulo de software

Cada objeto constituye un universo cerrado bien definido.


Todo lo que un objeto sabe se expresa en sus atributos.
Todo lo que un objeto puede hacer se expresa por sus
operaciones (mtodos).
Formatear DD
Programar
en Java

Ejemplo: Ordenador
Instalar
programa

Jugar

memoria
capacidad
DD
velocidad
procesador

Navegar

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

...

Objeto
EnviarFactura

CalcularImporte

enviarFact

N factura
importe

FACTURA

calcImporte
verifPago

VerificarPago
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

Clase
MUNDO REAL
Los elementos de un sistema
fsico pueden ser agrupados
en CATEGORIAS :

SIMULACIN INFORMTICA
Los objetos que muestran la
misma estructura y
comportamiento se agrupan en
CLASES

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

10

Clase

Cualquier tipo de
coche puede
agruparse dentro
de la Clase
AUTOMOVIL

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

11

Ejemplo de Clase
Automvil
Atributos

Operaciones

Matrcula

poner en marcha

marca

parar

modelo

acelerar

estado

frenar

potencia

pintar

color

encenderLuces

luces

apagarLuces

velocidad
peso

Esta lista de atributos y de


operaciones asegura el
hecho de que el conjunto
de instancias de la clase
Automvil dispondr de
estos atributos y de los
valores asociados, as
como de la facultad de
ejecutar las operaciones
citadas.

...
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

12

Ejemplo de Objeto
Un Automvil
Atributos
Matrcula: 5671BCD

marca: Ford
modelo: Focus

estado: en marcha

Se especifican sus atributos.


Este coche tiene ahora una
existencia informtica.
Est en condiciones de participar
en las secuencias de interacciones.

potencia: 130 c.
color: rojo
luces: encendidas

Velocidad: 60 km/h
peso: 1500 kg
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

13

Clase
Definicin
Implementacin total o parcial de un tipo
abstracto de dato (TAD)

Una clase es un tipo definido que determina la


estructura de datos y las operaciones asociadas a ese
tipo.
Una clase se puede ver como una plantilla que
describe objetos que van a tener la misma estructura
y el mismo comportamiento.
Un programa OO es una coleccin estructurada de
clases.
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

14

Clase
Doble naturaleza de las clases:
Una clase es un mdulo y un tipo de dato:

Mdulo (concepto sintctico)


Mecanismo para organizar el software (sintctico)
Encapsula componentes software

Tipo (concepto semntico)


Mecanismo de definicin de nuevos tipos de datos: describe una estructura de datos
(objetos) para representar valores de un dominio y las operaciones aplicables.

Los servicios proporcionados por una clase, vista como un


mdulo, son precisamente las operaciones disponibles sobre las
instancias de la clase, vista como un tipo.
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

15

Clase
Componentes de una clase:

Atributos
Determinan una estructura de almacenamiento para cada
objeto de la clase
Operaciones (Mtodos)
Operaciones aplicables a los objetos
nico modo de acceder a los atributos

Ejemplo: Al modelar un banco, encontramos objetos cuenta.


Todos los objetos cuenta tienen propiedades comunes:
atributos: nmero, saldo, titular, ...
operaciones: ingresar, retirar
Definimos una clase CUENTA.
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

16

Clases e Instancias

Una clase es un generador de


objetos (las instancias de la
clase).
Una instancia es una estructura
constituida por los atributos
descritos para la clase.
La creacin de un objeto a
partir de una clase se llama
instanciacin.
Muchas instancias de una
misma clase pueden existir
simultneamente en memoria.

Clase CUENTA
Campos: titular, nmero, debe, haber, saldo
Mtodos:
imprimir ()
ingresar (V) saldo := saldo + V
retirar (V) saldo := saldo - V

Instanciacin

Instancia: cuenta1
titular: Prez
nmero: 154000345
saldo: 2.000

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

Instanciacin

Instancia: cuenta2
titular: Garca
nmero: 112899665
saldo: - 100

17

Instanciacin
La clase Empleado describe a todos los empleados, a partir de ella
podemos dirigirnos a un empleado concreto dando valores a sus datos
(atributos).

PagarSalario
Jubilar
Puesto

Nomina

FABRICACIN DEL OBJETO


(INSTANCIACIN)

Gerente

NEmp

123

Salario

Contratar

Ext.Tfno
Ascender

PEPE

Cambiar
Ext.Tfno

EMPLEADO
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

30000/ao
3344

18

Objeto
Definicin
Es una instancia de una clase, creada en tiempo de
ejecucin

Es una estructura de datos formada por tantos atributos


como tiene la clase.

El estado de un objeto viene dado por el valor de los


atributos. El estado suele cambiar con el paso del tiempo.

Los mtodos permiten consultar y modificar el estado del


objeto.

Durante la ejecucin de un programa OO se crearn un


conjunto de objetos.
Programacin Orientada a Objetos
Tema 3: Conceptos fundamentales de POO

19

Anlisis y diseo OO
Cuenta
empleado

cuentaAhorro
CuentaCorriente

cuentaCorriente

Persona

CuentaAhorro

Empleado

Cliente

cliente

Sistema Software (Clases)

Objetos del mundo real

Cada objeto es
instancia
directa
de una clase

empleado

cuentaCorriente

cuentaAhorro

cliente

Instancias de las clases (objetos software)

Programacin Orientada a Objetos


Tema 3: Conceptos fundamentales de POO

También podría gustarte