Sei sulla pagina 1di 20

Programacin Orientada a Objetos

Introduccin
Profesor: Roberto Muoz .
INTRODUCCIN

Toda la historia de los lenguajes de programacin se ha


desarrollado basndose en una sola idea conductora:

Hacer que la tarea de realizar programas para


computadores sea cada vez ms simple, flexible y portable
posible

Esta evolucin en los lenguajes de programacin, ha venido


impulsada por tres motores distintos:

o Los avances tecnolgicos


o Los avances conceptuales (de planteamiento)
o Los avances en cuando a los enfoques de programacin

El ltimo es tambin una evolucin conceptual, pero es tan


profunda que considera un cambio drstico en cuanto al
modo de concebir la programacin, un cambio de paradigma
INTRODUCCIN

El experto informtico e investigador de lenguajes


emergentes Bruce Eckel seala en uno de sus postulados:

A medida que se van desarrollando los lenguajes, se va


desarrollando tambin la posibilidad de resolver problemas
cada vez ms complejos.

En la evolucin de cada lenguaje, llega un momento en el


que los programadores comienzan a tener dificultades e la
hora de manejar implementaciones que sean de un cierto
tamao y nivel de sofisticacin.

La historia de los lenguajes determina que cada vez el nivel


de abstraccin de la realidad es mayor, por ende el uso de
modelos para explicar cada una de las interacciones
transacciones y funciones de los programas es cada vez mas
detallado.
PARADIGMAS DE PROGRAMACIN

Proveen una visin y determinan nuevos mtodos para la


construccin de programas.

Diferentes paradigmas resultan en diferentes estilos de


programacin, y en diferentes formas de pensar la misma
solucin a los problemas.

La mayora de los lenguajes de programacin actuales estn


basados en uno o ms paradigmas, Multiparadigma, pero
siempre priorizando o dando mayor soporte a un estilo o
forma de programar.

Actualmente se consideran los siguientes paradigmas:


o Programacin Estructurada o Procedural
o Programacin Declarativa o Lgica
o Programacin Orientada a Objetos - POO
o Programacin Orientada a Eventos POE
o Programacin Orientada a Aspectos POA
PARADIGMAS DE PROGRAMACIN

Programacin Estructurada o Procedural:

En este paradigma el cdigo del programa se divide en


bloques y sub bloques (procedimientos y funciones) que
pueden o no estar comunicados entre si.

Se conforma y controla a partir de instrucciones de


secuencia, seleccin e iteracin.

Permite la reutilizacin del cdigo en sus bloques y otorga


una mejor comprensin de la programacin.

Ejemplos de este estilo son los lenguajes: C, Pascal, Cobol,


Fortran, Clipper, RPG, etc.
PARADIGMAS DE PROGRAMACIN

Programacin Declarativa o Lgica:

En este paradigma el cdigo del programa se basa en la


definicin de reglas lgicas iniciales para luego, a travs de
un motor de inferencias de carcter lgico, las que
responden las necesidades del problema a implementar. se
describe paso a paso un conjunto de instrucciones que
deben ejecutarse para variar el estado del programa y hallar
la solucin, es decir, un algoritmo en el que se describen los
pasos necesarios para solucionar el problema. Se ha dicho
que los lenguajes declarativos tienen la ventaja de ser
razonados matemticamente, lo que permite el uso de
mecanismos matemticos para optimizar el rendimiento de
los programas.1Son fiables, elegantes y expresivos

Ejemplos de este estilo son los lenguajes: PROLOG, SQL,


Haskell, etc.
PARADIGMAS DE PROGRAMACIN

Programacin Orientada a Objetos - POO:

En este paradigma el cdigo del programa se basa en la idea


de encapsular los datos y las operaciones que realizan
dichos datos, en entidades llamados objetos a las cuales
puede acceder un programador.

Tiene un alto nivel de re usabilidad del cdigo, ya que ciertos


comportamientos o acciones de un objeto pueden
redefinirse, por lo que dicho objeto tiene una larga data y
uso.

Ejemplos de este estilo son los lenguajes: C++, Java,


Phyton, C# , Objective C , Delphi, Smalltalk, Simula, Eiffel,
Delphi, Ruby, etc.
PARADIGMAS DE PROGRAMACIN

Programacin Orientada a Eventos - POE:

Para entender este paradigma debemos oponerla a lo que no


es: mientras en la programacin secuencial (o estructurada)
es el programador el que define cul va a ser el flujo del
programa, en la programacin dirigida orientada a eventos
ser el propio usuario o lo que sea que est accionando el
programa el que dirija el flujo del programa.
Aunque en la programacin estructurada puede haber
intervencin de un agente externo al programa, estas
intervenciones ocurrirn cuando el programador lo haya
determinado, y no en cualquier momento como puede ser en
el caso de la programacin orientada a eventos.

Ejemplos de este estilo son los lenguajes: JavaScript, Visual


Basic, . NET, ActionScript, etc.
PARADIGMAS DE PROGRAMACIN

Programacin Orientada a Aspectos - POA:

Paradigma relativamente reciente cuya intencin es permitir


una adecuada modularizacin de las aplicaciones y
posibilitar una mejor agrupacin de incumbencias
(Obligacin o correspondencia de hacer algo). El principal
objetivo es la separacin de las funcionalidades dentro del
sistema, cada funcionalidad comn se encapsular en una
entidad. Existe una clase especial de lenguajes, llamados
lenguajes orientados a aspectos (LOA), los cuales brindan
mecanismos y constructores para capturar aquellos
elementos que se diseminan por todo el sistema. A estos se
les da el nombre de aspectos. Los LOA permiten separar la
definicin de la funcionalidad pura de la definicin de los
diferentes aspectos.

Ejemplos de este estilo son los lenguajes: FLOW3, Aspect,


etc.
POO

Qu es?

Es un Paradigma: (Qu es un paradigma?)

Basado en objetos y clases

Aplicables al anlisis, diseo y programacin de


una solucin

Considera un sistema software como un


conjunto de objetos que cooperan e
interaccionan
POO

Cundo surge?

Kristen Nygaard y su equipo (Noruega)

Simula I (61-64)
Primer reporte (65)
Simula 67 (67)

Desarrollo en el mundo

Delta (lenguaje no compilable, 73-75)


Smalltalk (mediados de los 70s)
C++/Eiffel (desde los 80s)
Java (mediados de los 90s)
Objective C (mediados de los 90s)
C# (2001)
POO
POO
CONCEPTOS

OBJETO: Cosas del mundo que nos rodea y que pueden ser
abstractas o reales. Es una unidad que define cualidades y
acciones especificas identificables y reconocibles.

Ejemplos: personas, muebles, universidades, asignaturas,


sucursales, figuras, semestres, frutas, animales, vuelos, etc.

CLASES: Tipos de Objeto, Categora o clasificacin de objetos.

Ejemplos:

Personas. Juan es una persona pero es una instancia


del tipo de objeto persona.

Aviones es un tipo de objeto, pero el boeing 777 de Lan


Chile con capacidad de 300 pasajeros es objeto del tipo
avin.

Tringulo equiltero, se dice que es una instancia del


tipo de objeto figuras geomtricas.
CONCEPTOS

Existen caractersticas comunes en los tipos de Objetos o Atributos.

Ejemplo:
Personas : edad, estatura, peso, rut, etc.
Libros: nombre, editorial, titulo, ao publicacin, isbn, etc.

Acciones que pueden realizar los tipos de objetos.

Aviones: despegar, volar, aterrizar, descargar.


Computador: formatear, reiniciar, actualizar.

En el mundo real la informacin pertenece a los objetos y puede no ser


compartida por todos, esto se llama Encapsulacin:

Juan no sabe los datos de Pedro. Pedro no sabe los de Ral.

En el mundo real si necesito algo de un objeto se le pide (solicitudes


a otros objetos):

Juan le pregunta el nombre a Pedro para saberlo.


El motor le pide bencina al estanque para seguir trabajando.
CONCEPTOS

En el mundo real existen sub-tipos de objetos que


comparten algunas caractersticas idnticas y tienen
otras independientes.

Tipo personas, sub-tipo alumnos, sub-tipo


profesores, profesores y alumnos son personas,
pero son distinto tipo de personas.

En el mundo real una misma accin de un objeto puede


ser realizada para distintos tipos de objetos.

Las personas pelamos frutas, no importa si la


fruta es un pltano, o una naranja o una sanda.

Las personas hablamos idiomas, ya sea este el


Espaol, el Ingls, el Francs, o el Alemn.
CONCEPTOS

Para un objeto es importante que se almacenen


datos de relevancia que lo definen, y mtodos o
acciones que manipulen dichos datos.

A los tipos y sub-tipos de objetos se les llama Clase,


por lo tanto poseen propiedades similares,
comportamiento comn, relaciones comunes y
semntica comn.

Cada objeto es una instancia de la clase a la que


pertenece.
CONCEPTOS

Los objetos se comunican entre si a travs de


mensajes que son enviados por un objeto emisor y
recibidos por un objeto destino o receptor.

Los objetos poseen una funcionalidad (operaciones


que son capaces de hacer o mensajes a los que son
capaces de reaccionar).

En este curso enfocamos la aplicacin de la


orientacin a objetos a la programacin en Java.
CONCEPTOS
CONCEPTOS

Potrebbero piacerti anche