You are on page 1of 28

FIEC04622:

PROGRAMACIN ORIENTADA A OBJETOS

Unidad 1

Msc.(I.T.) Rocio Mera Suarez


remera@espol.edu.ec
Agenda

1. El Progreso de la abstraccin.
2. El paradigma orientado a objetos
3. Ventajas de la Programacin Orientada a Objeto
4. Introduccin a Java
5. Administracin de Memoria
6. Revisin de IDE (Si el tiempo lo permite)
3

Objetivos del curso


1. A p l i c a r l o s c o n c e p t o s f u n d a m e n t a l e s d e l a
Programacin Orientada a Objetos (POO): objetos,
clases, abstraccin, encapsulamiento, herencia,
polimorfismo en la solucin de problemas.
2. Implementar interfaces grficas y utilizar eventos para
dar implementacin a requerimientos de usuario.
3. Comprender la enorme importancia de crear software
fiable, reutilizable y mantenible.
4. Disear e implementar diagramas UML para el
modelamiento de software
4

Abstraccin
Capacidad del ser humano para entender una situacin excluyendo
detalles y slo vindola a alto nivel

Supresin intencionada (u ocultacin) de algunos detalles de un proceso


o artefacto, con el fin de destacar ms claramente otros aspectos,
detalles o estructuras.
Expresa las caractersticas esenciales de un objeto, las cuales distinguen
al objeto de los dems
Concentrarse en lo esencial, ignorar lo irrelevante
Es una tcnica para crear, comprender o manejar sistemas complejos.
En cada nivel de detalle cierta informacin se muestra y cierta
informacin se omite.

Mediante la Abstraccin creamos MODELOS de la realidad.


5

Paradigma

Forma de entender y representar la realidad


Conjunto de teoras, estndares y mtodos que, juntos,
representan un modo de organizar el pensamiento, es
decir, el modo de ver el mundo.
Cada nuevo paradigma responde a una necesidad real de
nuevos modos de afrontar problemas.
6

Paradigma de Programacin

Un paradigma de programacin indica un mtodo de


realizar cmputos y la manera en que se deben
estructurar y organizar las tareas que debe llevar a cabo
un programa
7

Paradigmas de Lenguajes de
Programacin

Los paradigmas de lenguajes de programacin de


acuerdo a la organizacin del cdigo son:

Estructurado
Orientado a Objetos:
8

Programacin Estructurada

Consiste en descomponer el problema objeto de


resolucin en subproblemas y ms subproblemas hasta
llegar a acciones muy simples y fciles de codificar.
Se trata de descomponer el problema en acciones, en
verbos

Ej: C, pascal

Ejercicio:
Describir los pasos para crear un programa que
resuelva ecuaciones de segundo grado.
9

Ecuaciones de 2do Grado


10

Solucin
Pedir el valor de los coeficientes a, b y c;
Calcular el valor del discriminante; y por ltimo, en funcin
del signo del discriminante,
En funcin del signo del discriminante calcular ninguna,
una o dos races
11

Programacin Orientada a Objetos (POO)


Es una nueva forma de pensar acerca del proceso de
descomposicin de problemas y de desarrollo de
soluciones de programacin.

Este nuevo mtodo de descomposicin es la


descomposicin en objetos; vamos a fijarnos no en lo
que hay que hacer en el problema, sino en cul es el
escenario real del mismo, y vamos a intentar simular
ese escenario en nuestro programa
12
13

Objeto
Es la abstraccin de una entidad real, un concepto
Tiene propiedades
atributos
Tiene comportamiento: como acta el objeto en la vida
real
mtodos o funciones
14

Programacin Orientada a Objetos (POO)

En POO, se modela un programa como la colaboracin de de objetos


El comportamiento de un programa ser determinado por un grupo de
interacciones
Un grupo de interacciones ser determinado por objetos individuales

En POO, Objetos son considerados Antropomrficos


Cada uno es inteligente, es su especialidad
Ejemplo: la cama se tiende sola, la puerta se cierra sola
Pero cada uno debe ser ordenado por otro objeto cuando realizar la
accin, entonces los objetos deben cooperar para completar una tarea
15

Programacin Orientada a Objetos (POO)


Cada objeto representa una abstraccin

Una caja negra esconde detalles de los cuales no te tienes que


preocupar

Les permite como programadores controlar la complejidad de los


programas solo pensando acerca de caractersticas destacadas
16

Programacin Orientada a Objetos (POO)


Entonces vamos a programar modelando el problema como un conjunto de
componentes que colaboran entre ellos

Uds. determinarn cuales son los bloques que deben de construir

Pondrn los componentes juntos para que colaboren adecuadamente.

Por ejemplo: construir algo con legos inteligentes, algunas piezas


estarn definidas (slo las usaran), mientras que otras las tendrn que
disea.
17

Ejercicio - Buscaminas
Identificar cuales son los objetos del juego
Identificar cuales son las propiedades de los objetos del
juego
Identificar que saben hacer los objetos del juego
18

Solucin - Buscaminas
Clases
Juego
Tablero
Celda
19

Solucin - Buscaminas
Celda Atributos
Estado:bool, Mina:bool

Tablero Atributos
tamano:int, dificultad:String, puntaje:long

Juego Atributos
tiempoInicio: long
tiempoFin: long
puntaje:int
20

Propiedades POO
Abstraccin: Denota las caractersticas esenciales de un objeto,
donde se capturan sus comportamientos. Abstraemos propiedades
y mtodos.

Encapsulamiento: Significa reunir a todos los elementos que


pueden considerarse pertenecientes a una misma entidad, al
mismo nivel de abstraccin. Esto permite aumentar la cohesin de
los componentes del sistema.

Principio de ocultacin: Cada objeto est aislado del exterior, es


un mdulo natural, y cada tipo de objeto expone una interfaz a
otros objetos que especifica cmo pueden interactuar con los
objetos de la clase. El aislamiento protege a las propiedades de un
objeto contra su modificacin por quien no tenga derecho a
acceder a ellas, solamente los propios mtodos internos del objeto
pueden acceder a su estado.
21

Ventajas

POO escala muy bien.


POO proporciona un modelo de abstraccin que razona
con tcnicas que la gente usa para resolver problemas
Fomenta la reutilizacin y extensin del cdigo
22

Lenguaje Programacin Orientado a objetos (LOO)

Diferencia entre programacin orientada a objetos y


lenguaje orientado a objetos
Programacin Orientada a Objetos
Es una filosofa (forma de pensar)
Modelo de programacin, con su teora y metodologa
Lenguaje Orientado a Objetos
Permite el diseo de aplicaciones orientadas a objetos

Conocer un program orientado a objetos es necesario


pero no suficiente para crear un sistema de objetos.

"owning a hammer doesn't make one an architect"


23

Lenguaje Programacin Orientado a objetos (LOO)

Un lenguaje orientado a objetos es un lenguaje de


programacin que permite el diseo de aplicaciones
orientadas a objetos.

Ejemplos de lenguajes orientados a objetos:


C++, JAVA, SLATARN
24

JAVA
Es un lenguaje interpretado.
Es un lenguaje de propsito general.
Created by Sun Microsystems team led by James Gosling
(1991)
Java incorpora el uso de la orientacin a objetos como
uno de sus pilares bsicos y fundamentales.
Java, ms que un lenguaje orientado a objetos, es un
lenguaje de objetos.
En Java nada se puede hacer sin usar al menos un objeto.
Es Multiplataforma:
Los programas se compilan en un bytecode independiente de la
mquina y existen entornos de ejecucin de apliacaciones JAVA
para casi todos los SO.
25

Proceso de Compilacin e Interpretacin


Los desarrolladores de JAVA crearon un proceso de compilacin de 2
pasos para simplificar la de escribir compiladores para cada tipo de
arquitectura.

El compilador de Java (java) traduce los programa Java en byte-code, un


lenguaje mquina para una computadora ficticia llamada JavaVirtual
Machine. Una vez compilado a byte-code, un programa Java puede ser
usado en cualquier computadora haciendo muy portable

En el proceso de ejecucin, la Java Virtual Machine (java.exe) realiza una


compilacin Just In Time. Compila el Bytecode para generar el cdigo de
mquina segn la arquitectura y sistema operativo sobre el cual se
encuentra.

26

Proceso de Compilacin de un programa


escrito en JAVA
27

Integrated Development Environment (IDE)


Herramientas que proveen una interface grfica para un
rpido desarrollo de programas:
Editar
Compilar
Generar
Depurar
Ayuda (en lnea)

JAVA IDE - NetBeans


https://netbeans.org/downloads/index.html
28

TAREA
Investigar como JAVA administra su memoria

You might also like