Sei sulla pagina 1di 45

Programacin Orientada a

Objetos

Conceptos Generales

Paradigmas de la programacin
Programacin imperativa
Programacin estructurada y modular
Programacin orientada a objetos
Programacin funcional
Programacin lgica ..

Programacion modular y estructurada:


Ventajas
- Facilita el desarrollo
- Evita la repeticion de trabajo
- La tarea de programar es dividido en
modulos independientes
- Diseo Top-Down
- Facilita el mantenimiento
- Claridad de codigo
- Independencia del modulo
- Facilita la reutilizacion

Programacion modular y estructurada:


Desventajas
-

Fuerte acoplamiento
Confusion en el uso de globalidad o localidad de variables
La importacion de metodos y no de estructuras
Extensiblidad limitada

La Programacion Orientada a Objetos trabaja asi:


Todo el programa esta construido en base a
diferentes componentes (objetos), cada uno tiene
un rol especifico y todos los componentes pueden
comunicarse entre ellos de formas predefinidas.

Todo objeto del mundo real tiene dos partes:


-

Caracteristicas (Atributos)
Comportamiento (Metodos)

Cada uno pertenece a una clase especifica


Class Figura
.........
Class Automovil
.........
Class Perro
........

Por qu la orientacin a
objetos
O La tcnica orientada a objetos sigue con

frecuencia el mismo mtodo que


aplicamos en la resolucin de problemas
de la vida diaria.
O El anlisis y diseo orientado a objetos
modela el mundo en trminos de objetos
que tienen estado y comportamiento, y
eventos que activan operaciones que
modifican el estado de esos objetos.

Algunos beneficios de la
orientacin a objetos
Reutilizacin. Permite la reusabilidad de cdigo
empleando menos tiempo de desarrollo.
O Integridad. Los mecanismos de encapsulacin

protegen sus propios componentes.


O La forma de pensar en objetos es ms natural. El
diseador piensa en trminos de objetos y no en
detalles de bajo nivel.
O Programacin ms sencilla. Los programas se crean
a partir de piezas pequeas.

Otros beneficios de la
tecnologa OO
O Los mtodos de los objetos pueden ser polimrficos, es

decir, se comportan de distintas maneras.


O Es ms sencillo modificar cdigo existente, cada clase
efecta sus funciones independientemente de las
dems.
O Se construyen clases cada vez ms complejas a partir
de otras ms sencillas ya existentes.
O Estabilidad de los modelos respecto a entidades del
mundo real.

Motivos que han conducido al


xito la tecnologa de objetos
O Avances en arquitectura de computadores

O Avances en lenguajes de programacin

(Smalltalk, C++, Java, Python ...).


O Ingeniera del software (modularidad,
encapsulado de la informacin, proceso de
desarrollo incremental)
O Los lmites de la capacidad de gestionar la
complejidad de los sistemas solo con tcnicas
de descomposicin algortmica

Qu es la Programacin
Orientada a Objetos
O Organizacin de los programas de manera que representan

O
O
O
O
O

la interaccin de las cosas en el mundo real.


Un programa consta de un conjunto de objetos.
Los objetos son abstracciones de cosas del mundo real.
Cada objeto es responsable de unas tareas.
Los objetos interactan entre s por medio de mensajes.
Cada objeto es un ejemplar de una clase.
Las clases se pueden organizar en una jerarqua de
herencia.

La programacin OO es una simulacin de un modelo del


mundo real.

Una manera de ver el mundo

Paradigma orientado a
objetos
En el paradigma de la orientacin a objeto, un
sistema se concibe como un conjunto de objetos
que se comunican entre si mediante mensajes.
Objetos + Mensajes = Programa.
Mediante este modelo se construyen ms fcilmente
sistemas complejos a partir de componentes
individuales.

Qu es un Objeto?
O Las personas tenemos una idea clara

de lo que es un objeto: conceptos


adquiridos que nos permiten sentir y
razonar acerca de las cosas del
mundo. Un objeto podra ser real o
abstracto, por ejemplo una
organizacin, una factura, una figura
en un graficador, una pantalla de
usuario, un avin, un vuelo de avin,
una reservacin aerea, etc.

Software Orientado a Objetos


O Un objeto es cualquier

cosa, real o abstracta,


acerca de la cual
almacenamos datos y los
mtodos que controlan
dichos datos.
Un objeto puede estar compuesto por otros objetos y
estos a su vez por otros ms. Esta estructura nos
permite construir objetos muy complejos.

Programacin orientada a
objetos
O La programacin

orientada a
objetos (POO)
encapsula datos
(atributos o
propiedades) y
mtodos

Clases y objetos
O Una clase es una descripcin generalizada

de un conjunto de objetos similares.


O Es la descripcin de un conjunto de objetos
que comparten los mismos atributos,
operaciones, relaciones y semntica.
O Todos los objetos son ejemplares de una
clase.
O Un objeto es una instancia o variable de
una clase. Un objeto se distingue de otros
miembros de la clase por sus atributos.

Ejemplo de clases y
objetos
O Clase:

Coche

Objeto: Ferrari

Ejemplo de objeto con sus


mtodos y propiedades
O Propiedades o atributos
O Tipo de pantalla
O Espacio de memoria
O Cantidad de tonos
O Tipo de antena
O Cantidad de idiomas, etc.
O Mtodos o

comportamientos

Superclase: Telfono
Clase: Telfono Celular
Subclase: Telfono Celular Digital

O
O
O
O
O
O

Iniciar alarma
Asignar tonos
Registrar llamadas
Iniciar Juego
Utilizar Calculadora
Enviar mensajes, etc

Tipos Abstractos de Datos (TAD)

Abstraccin
O Es el conocimiento que se tiene de una cosa

prescindiendo de los detalles que le rodean.


O La abstraccin localiza y oculta los detalles
de un modelo o diseo para generar y
manipular objetos.
O Conocemos un objeto vindolo,sabemos
qu es, sin necesidad de ver su interior, su
implementacin o su forma de construccin.

Tipos de datos
Algunos tipos de datos que se encuentran en los lenguajes
de programacin son:
int

float
double
char

cadena de caracteres(String)
.

TAD
Es un modelo compuesto por una coleccin de
operaciones definidas sobre un conjunto de datos.
Por tanto un TAD consiste en:
Estructura de datos: que almacena informacin
para representar un determinado concepto
Funcionalidad: conjunto de operaciones que se
pueden realizar sobre el tipo de datos

Tipos Abstractos de Datos:


Se destacan los detalles (normalmente pocos) del
comportamiento observable (tipo) que es estable.
Se ocultan los detalles (numerosos) de la
implementacion, propensa a cambios.
Ej:
Clase Matriz, Lista, Vector, Complejo,
Fraccion,etc.

Que es una instancia de TAD?

Una instancia de TAD, o simplemente instancia,


es un elemento que pertenece al TAD.
El TAD es abstracto mientras que la instancia es
concreta (es el objeto de la clase)
Ej:

Fraccion f1,f2
Matriz x1
ListaDoble a,b,c

TAD Complejo
Un nmero complejo es un objeto matemtico
que se puede representar como una pareja
ordenada, por ejemplo (2,3) o como el polinomio
2 + 3i , donde i es la unidad bsica de los nmeros
imaginarios. Tienen operaciones como las de
suma, resta entre otras. Si tenemos dos complejos
c1=(r1,i1) y c2=(r2,i2), las operaciones se pueden
definir de la siguiente manera:
C1 + C2 = (r1 + r2, i1 + i2)
C1 - C2 = (r1 - r2, i1 - i2)

Cmo es la estructura del TDA?


El TDA Complejo contiene dos partes: la real y la
imaginaria.
Cules son sus operaciones?
sumar: Complejo x Complejo Complejo

restar: Complejo x Complejo Complejo


obtenerReal: Complejo R
obtenerImaginario: Complejo I

Resumen de conceptos de POO


O Un programa orientado a objetos es un conjunto de clases

que describe el comportamiento de los objetos del sistema


O Los objetos se comunican mediante mensajes
O Cada objeto tiene su propio estado, que consta de otros
objetos
O Cada objeto es un ejemplar de una clase (agrupacin de
objetos)
O Todos los objetos que son ejemplares de una misma clase
pueden realizar las mismas acciones
O Las clases estn organizadas en una jerarqua de herencia

Potrebbero piacerti anche