Documente Academic
Documente Profesional
Documente Cultură
PRESENTADO POR:
GRUPO: 301403_58
TUTOR
FRANKLIN LIZCANO CELIS
1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
INTRODUCCION
La Programacin Orientada a Objetos trata de utilizar un enfoque real del mundo dentro
de nuestros programas. La visin que se tiene del mundo dentro de la programacin
orientada a objetos es que se encuentra hecho por objetos. Para comprender bien la
programacin orientada a objetos tenemos que olvidar un poco la Programacin
Estructurada ya que si nos fijamos bien es algo artificial, la programacin orientada a
objetos es una forma de emprender los problemas ms naturales. Aqu natural significa
ms en contacto con el mundo real que nos rodea, de esta forma si queremos resolver
un problema concluyente, debemos identificar cada una de las partes del problema con
objetos presentes en el mundo real.
2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
ACTIVIDADES A DESARROLLAR
El grupo colaborativo en consenso entre todos los compaeros, deben elegir una (1) de
las propuestas planteadas en el Anexo 1 que se encuentra en la carpeta junto a este
documento, con el fin de desarrollarla durante el periodo acadmico.
Una vez elegida deber informar en el foro de la Fase1 la propuesta elegida.
Temtica a abordar:
Proyecto A.
PREGUNTAS
1. Cul es la diferencia entre programacin estructurada y programacin
orientada a objetos
3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Ventajas:
La primera ventaja del concepto de objetos es que todo el cdigo que tiene algo que
ver se encuentra en un solo lugar.
Los objetos pueden poseer atributos inherentes de la clase a la que pertenecen.
La programacin orientada a objetos hace que los programas grandes sean ms
manejables.
Dinamismo en el manejo de los datos.
Facilidad en el mantenimiento y expansin.
Desventajas:
Si se fuerza el lenguaje en el concepto de programacin orientada a objetos se pierden
algunas de las caractersticas de lenguajes tiles como los lenguajes funcionales.
Que un programador tiene de lo que constituye un objeto abstracto puede no coincidir
con la visin de otro programador.
Mayor cantidad de cdigo.
Para asignar un valor entero a la variable Num de emplea el tipo de dato int. El valor
principal de esta declaracin ser igual a 0, hasta que se le asigne un nuevo valor.
Ejm:
Int Num;
Sintaxis:
Tipo_Dato Nombre_Variable;
4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
4. Sintaxis para imprimir en consola en Java
1. /* Este es un
2. Comentario de
3. Varias lneas */
Operaciones relacionales:
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Operadores relacionales
== A == B verdadero si A es igual a B
!= A != B verdadero si A es distinto de B
No nos olvidemos de los char, que tambin participan. Podemos comparar caracteres,
pues internamente estn almacenados como nmeros.
6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Entre los booleanos solo se permiten los operadores de equivalencia, es igual (==) o es
distinto (!= )
Operadores lgicos
7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Los operadores && y || se llaman operadores en cortocircuito porque si no se
cumple la condicin de un trmino no se evala el resto de la operacin. Por ejemplo:
(a == b && c != d && h >= k) tiene tres evaluaciones: la primera comprueba si la
variable a es igual a b. Si no se cumple esta condicin, el resultado de la expresin es
falso y no se evalan las otras dos condiciones posteriores.
8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Instancia de clase: Las instancias de clase representan los objetos que realmente
vamos a trabajar. En Java creamos los objetos por medio de la palabra "new", el objeto
nos representa algo especfico.
Del mismo modo que hay variables de instancia y de clase, tambin hay mtodos de
instancia y de clase. En el primer caso, un objeto llama a un mtodo para realizar una
determinada tarea, en el segundo, el mtodo se llama desde la propia clase.
9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
son las acciones que realiza, o sea los mtodos transportar gente, acelerar y
frenar mientras que su identidad es el propio nombre del objeto.
Identificadores: Cmo se escriben los nombres de las variables, de las clases, de las
funciones, etc., es un asunto muy importante de cara a la comprensin y el
mantenimiento de cdigo. En la introduccin a los fundamentos del lenguaje Java
hemos tratado ya de los identificadores.
El cdigo debe de ser tanto ms fcil de leer y de entender como sea posible. Alguien
que lea el cdigo, incluso despus de cierto tiempo, debe ser capaz de entender lo que
hace a primera vista, aunque los detalles internos, es decir, cmo lo hace, precise un
estudio detallado.
CLASE CERRADA: Todos los eventos y mtodos y propiedades estn definidas dentro
de la clase, as que no es posible agregrselos dinmicamente.
CLASE DINAMICA: En oposicin a las clases cerradas existe lo que se conoce como
clases dinmicas. Su principal caracterstica es que permite agregar en tiempo de
ejecucin , propiedades y mtodos a la clase, es decir, que yo puedo agregar una
nueva propiedad a la instancia de mi clase, aunque esta no haya sido definida
originalmente.
10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
las clases cerradas, lo que hace que se pierda control sobre los datos de la
clase, hacindola susceptible de errores inesperados.
CLASE ESTATICAS: Por su parte, las clases estticas estn pensadas para contener
elementos (propiedades o mtodos) que no dependen directamente de un objeto para
su funcionamiento Cmo es eso? Veamos:
En varias ocasiones nos encontramos con que tenemos una funcin que puede ser
utilizada por distintos objetos, o en diferentes situaciones, que no estn relacionadas
con algn objeto especfico, puede ser el caso de una operacin matemtica, un
clculo, dibujar una forma geomtrica, etc. Sin las clases estticas la opcin sera:
Crear esta misma funcin en cada clase que utilizamos (copiar y pegar no es
reusabilidad). Pero esto es algo engorroso y poco prctico (qu pasa si queremos
agregar un nuevo parmetro a nuestra funcin o conseguimos una forma ms efectiva
de hacer lo mismo? Tendramos que reescribir el cdigo en cada clase donde lo hemos
usado y t no quieres hacer eso verdad?).
Un buen ejemplo de clases estticas es la clase Math, comn en ActionScript, Java,
.Net, etc. Esta clase se encarga de hacer una serie de operaciones matemticas a las
que slo les pasamos los parmetros que necesita. Otro ejemplo tpico sera una clase
que se encargara de dibujar objetos.
11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
La herencia proviene del hecho de que la subclase contiene los atributos y mtodos de
la clase primaria. La principal ventaja de la herencia es la capacidad para definir
atributos y mtodos nuevos para la subclase, que luego se aplican a los atributos y
mtodos heredados. La herencia es la transmisin del cdigo entre unas clases y otras.
12
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
StringnumCadena="1";
int numEntero = Integer.parseInt(numCadena);
Si los espacios vienen al principio o al final, con un simple trim bastar para
eliminarlos, por ejemplo ("1")
numCadena.trim();
Si tenemos espacio entre los nmeros deberamos usar el mtodo replaceAll (" 1 3 45
6")
numCadena.replaceAll(" ", "");
13
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
campo2 = valor o parmetro;
.
.
.
campo n = valor o parmetro;
}
Nota: La inicializacin de campos y variables es un proceso muy importante. Su mala
definicin es fuente de problemas en el desarrollo de programas. Como regla de buena
programacin, cuando crees campos o variables, procede de forma inmediata a definir
su inicializacin.
Los constructores tienen el mismo nombre que la clase en la que son definidos y nunca
tienen tipo de retorno, ni especificado ni void. Tenemos aqu un aspecto que nos
permite diferenciar constructores de mtodos: un constructor nunca tiene tipo de
retorno mientras que un mtodo siempre lo tiene. Es recomendable que en un
constructor se inicialicen todos los atributos de la clase aunque su valor vaya a ser nulo
o vaco. Si un atributo se quiere inicializar a cero (valores numricos) siempre lo
declararemos especficamente: nombreAtributo = 0;. Si un atributo se quiere inicializar
a contenido nulo (atributos que son objetos) siempre lo declararemos especficamente:
nombreAtributo = null;. Si un atributo tipo texto se quiere inicializar vaco siempre lo
declararemos especficamente: nombreAtributo = ;. El motivo para actuar de esta
manera es que declarando los atributos como nulos o vacos, dejamos claro que esa es
nuestra decisin como programadores. Si dejamos de incluir uno o varios campos en el
constructor puede quedar la duda de si hemos olvidado inicializar ese campo o inducir
a pensar que trabajamos con malas prcticas de programacin.
/* Ejemplo - aprenderaprogramar.com */
public class Taxi { //El nombre de la clase
14
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
private int tipoMotor; //Tipo de motor asignado a cada objeto taxi. 0 =
desconocido, 1 = gasolina, 2 = diesel
} //Cierre de la clase
15
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el
modelo de eventos AWT, el cual rige cmo una componente reacciona a eventos tales
como, eventos de teclado, mouse, etc... Es por esto, que la mayora de los programas
Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*.
Estructura bsica de una aplicacin Swing.
Una aplicacin Swing se construye mezclando componentes con las siguientes reglas.
Debe existir, al menos, un contenedor de alto nivel (Top-Level Container), que
provee el soporte que las componentes Swing necesitan para el pintado y el manejo de
eventos.
Otras componentes colgando del contenedor de alto nivel (stas pueden ser
contenedores o componentes simples).
Ejemplo 1:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addWindowListener(new java.awt.event.WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
16
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
frame.pack();
frame.setVisible(true);
}
}
17
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //JDK 1.3+
18
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Veamos ahora la estructura del bloque try/catch/finally:
Try
{
//Cdigo que puede provocar errores
}
Catch(Tipo1 var1)
{
//Gestin del error var1, de tipo Tipo1
}
[
Catch(TipoN varN)
{
//Gestin del error varN, de tipo TipoN
}]
[
Finally
{
//Cdigo de finally
}
]
Como podemos ver es obligatorio que exista la zona try, o zona de pruebas, donde
pondremos las instrucciones problemticas. Despus vienen una o ms zonas catch,
cada una especializada en un tipo de error o excepcin. Por ltimo est la zona finally,
encargada de tener un cdigo que se ejecutar siempre, independientemente de si se
produjeron o no errores.
Se puede apreciar que cada catch se parece a una funcin en la cul slo recibimos un
objeto de un determinado tipo, precisamente el tipo del error. Es decir slo se llamar al
catch cuyo argumento sea coincidente en tipo con el tipo del error generado
19
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Matrcula de Estudiantes.
Consulta de Estudiantes.
Eliminar un estudiante.
Consulta de Programas.
Reportes.
Finalmente al ejecutar la aplicacin, esta debe solicitar un password y Login para
garantizar la seguridad de la aplicacin y el acceso solo a personal autorizado.
Actores:
SISTEMA DE
REGISTRO Y
CONTROL
Usuario Base de datos
20
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
ACTORES PRINCIPALES: Los actores principales son aquellos que tiene una funcin
principal en este caso, est el usuario que es el encargado de hacer las consultas y
adquirir un servicio.
Casos de usos:
actores primario
Tipo
21
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Resumen
precondiciones
Flujo
Principal
Subflujos
Excepciones
22
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Objetivo General.
23
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
retirados, y activos.
Modelo de Interfaces:
USUARIO
Consulta de Programas.
Matrcula de Estudiantes.
Consulta de Estudiantes
Eliminar un estudiante.
Reportes
24
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Se hace una descripcin de lo que necesita los actores para que puedan ingresar el
servicio y generar su matrcula.
Actores:
ACTOR USUARIO
Consulta Programa
Matricula de estudiantes
Eliminar a un estudiante
Consulta de un estudiante
Tipo Primario
ACTOR COMPUTADOR
Validar-Eliminacin de un estudiante
Tipo Secundario
25
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Tipo inclusin
Precondiciones ?
Subflujos
26
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
Excepciones
Identificacin de clases:
27
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
CONCLUSIONES
Tambin con este nuevo paradigma podemos hacer programas ms complejos pero
sencillos de entender lo cual tambin permiten el reutilizamiento de cdigos.
28
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA (UNAD)
ESCUELA DE CIENCIAS BSICAS, TECNOLOGA E INGENIERA
PROGRAMACION ORIENTADA A OBJETOS
BIBLIOGRAFIA
http://bibliotecavirtual.unad.edu.co:2081/ps/i.do?p=GVRL&sw=w&u=unad&v=2.1&it=r&i
d=GALE%7CCX3004300041&asid=320ab4f95cd384a1b4ef75c7eb74faf8
http://bibliotecavirtual.unad.edu.co:2081/ps/retrieve.do?tabID=&searchType=BasicSear
chForm&userGroupName=unad&inPS=true&prodId=GVRL&contentSet=GALE&docId=
GALE|CX3004300051
http://bibliotecavirtual.unad.edu.co:2081/ps/retrieve.do?resultListType=RELATED_DOC
UMENT&searchType=BasicSearchForm&userGroupName=unad&inPS=true&contentS
egment=&prodId=GVRL&isETOC=true¤tPosition=&docId=GALE|CX3004300068
29