Este documento resume conceptos clave de programación orientada a objetos en Java. Explica que una clase define la estructura de un objeto y que las clases tienen atributos como variables miembro y métodos. También cubre interfaces, herencia, abstracción, encapsulamiento, arreglos y flujos de entrada y salida. Finalmente, describe cómo Java maneja excepciones y errores.
Este documento resume conceptos clave de programación orientada a objetos en Java. Explica que una clase define la estructura de un objeto y que las clases tienen atributos como variables miembro y métodos. También cubre interfaces, herencia, abstracción, encapsulamiento, arreglos y flujos de entrada y salida. Finalmente, describe cómo Java maneja excepciones y errores.
Este documento resume conceptos clave de programación orientada a objetos en Java. Explica que una clase define la estructura de un objeto y que las clases tienen atributos como variables miembro y métodos. También cubre interfaces, herencia, abstracción, encapsulamiento, arreglos y flujos de entrada y salida. Finalmente, describe cómo Java maneja excepciones y errores.
PRESENTADO POR JESUS ANTONIO BUSTOS CODIGO 3132650
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA MAYO 2014 1. Qu es una Clase en programacin orientada a objetos?
Una clase es la estructura de un objeto, es decir, la definicin de todos los elementos de que est hecho un objeto. Un objeto es, por lo tanto, el "resultado" de una clase.
Tomado de http://es.kioskea.net/contents/409-clases-de-objetos-e-instancias
2. Cules son las caractersticas importantes de las clases en programacin orientada a objetos?
Todas las variables y funciones de Java deben pertenecer a una clase. No hay variables y funciones globales. Si una clase deriva de otra (extends), hereda todas sus variables y mtodos. Java tiene una jerarqua de clases estndar de la que pueden derivar las clases que crean los usuarios. Por defecto, las clases de usuario derivan de una clase de Java llamada Object. Slo se puede heredar de una clase (en Java no hay herencia mltiple). En un fichero no puede haber ms que una clase public. Este fichero se llama como la clase public con extensin *.java. Con algunas excepciones, lo habitual es escribir una sola clase por fichero. Si una clase contenida en un fichero no es public, no es necesario que el fichero se llame como la clase. Los mtodos de una clase pueden referirse de modo global al objeto de esa clase al que se aplican por medio de la referencia this. Las clases se pueden agrupar en packages, introduciendo una lnea al comienzo del fichero (package packageName;).
Tomado de: http://www1.ceit.es/Asignaturas/Informat2/Clases/Clases9899/Clase06/JavaClasesIntro/tsld 003.htm
3. Qu es una interface en programacin orientada a objetos?
Una interfaz es un conjunto de mtodos abstractos y de constantes cuya funcionalidad es la de determinar el funcionamiento de una clase, es decir, funciona como un molde o como una plantilla. Al ser sus mtodos abstractos estos no tiene funcionalidad alguna, slo se definen su tipo, argumento y tipo de retorno. Tomado de: http://picarcodigo.blogspot.com/2012/10/interfaces.html
4. Cmo se define una Clase en programacin orientada a objetos?
La estructura de una clase es: class [nombre de la clase] { [atributos o variables de la clase] [mtodos o funciones de la clase] [main] }
Tomado de: http://www.javaya.com.ar/detalleconcepto.php?codigo=87
5. Qu es una variable variables miembro en programacin orientada a objetos?
Las variables miembro del argumento implcito se acceden directamente o precedidas por la palabra this y el operador punto. Las variables miembro pueden ir precedidas en su declaracin por uno de los modificadores de acceso: public. prvate, protected y package (que es el valor por defecto y puede omitirse). Junto con los modificadores de acceso de la clase {public y package), determinan qu clases y mtodos van a tener permiso para utilizar la clase y sus mtodos y variables miembro.
Tomado de: http://ayudaparaprogramacion.blogspot.com/2013/11/variables-miembro- ii.html
6. Qu es una variables miembro de objeto en programacin orientada a objetos?
Son porciones de informacin que un objeto posee o conoce de s mismo. Una clase puede tener cualquier nmero de atributos o no tener ninguno. Se declaran con un identificador y el tipo de dato correspondiente. Adems los atributos y tienen asociado un modificador que define su visibilidad
Tomado de: http://ocw.upm.es/lenguajes-y-sistemas-informaticos/programacion-en-java- i/Contenidos/LecturaObligatoria/12-tiposdeatributos.pdf
7. Qu es una variable final en programacin orientada a objetos?
En este contexto indica que una variable es de tipo constante: no admitir cambios despus de su declaracin y asignacin de valor. final determina que un atributo no puede ser sobrescrito o redefinido. O sea: no funcionar como una variable tradicional, sino como una constante. Toda constante declarada con final ha de ser inicializada en el mismo momento de declararla. Final tambin se usa como palabra clave en otro contexto: una clase final (final) es aquella que no puede tener clases que la hereden. Lo veremos ms adelante cuando hablemos sobre herencia.
Tomado de: http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=63 9:static-final-en-java-palabras-clave-variables-de-clase-o-campos-estaticos-y-constantes- ejemplos-cu00673b&catid=68:curso-aprender-programacion-java-desde-cero&Itemid=188 8. Cmo se define el concepto de abstraccin en programacin orientada a objetos?
Podramos definir la abstraccin como la "accin de aislar mentalmente o considerar por separado las cualidades de un objeto, considerar un objeto en su esencia". Qu quiere decir esta definicin? A travs de la abstraccin conseguimos extraer las cualidades principales sin detenernos en los detalles. Conseguimos a partir de un tema determinado, generalizar y obtener una visin global del tema. Cuando montamos un ordenador ensamblamos los componentes necesarios para construir el ordenador. Utilizamos una placa base, un disco duro, memoria, etc. Manejamos estos dispositivos a un nivel funcional. Es decir, abstraemos las funciones de cada dispositivo para trabajar con ellos. En ningn momento nos paramos a pensar cmo funcionan internamente o de cuntos condensadores y transistores est compuesto.
La abstraccin es una herramienta muy potente en programacin, pues reduce considerablemente el trabajo de implementacin y aumenta la portabilidad del cdigo. La programacin orientada a objetos aporta elementos para abstraer el problema en dos sentidos:
Por un lado nos permite referirnos a objetos para representar la realidad, describiendo el problema en trminos del problema en lugar de en trminos de la solucin. En un programa de gestin comercial, tendremos el objeto cliente o el objeto factura, que no son ms que representaciones de otros objetos en el espacio del problema. La clave de la programacin orientada a objetos est en abstraer los mtodos y los datos comunes a un conjunto de objetos y agruparlos en una clase. Gracias a este nivel de abstraccin, aadir o eliminar un objeto nuevo supondr muy poco esfuerzo.
Tomado de: http://www.ciberaula.com/articulo/abstraccion/
9. Cmo se define el concepto de encapsulado en programacin orientada a objetos?
Hay muchos datos que no tiene por qu conocerlo aquel que est usando la clase Persona; ya que son inherentes al objeto y solo controlan su funcionamiento interno; por ejemplo, cuando alguien te ve puede saber inmediatamente si eres hombre o mujer (propiedad) o puede hablarte y obtener una respuesta procesada (mtodo); tambin puede conocer el color de tu cabello y ojos. En cambio, jams sabr que cantidad de energa exacta tienes o cuantas neuronas te quedan, ni siquiera preguntndote ya que ninguna de tus propiedades externas visibles o funciones de comunicacin al pblico te permiten saber esos datos. Esto es la encapsulacin u ocultacin; hacer las variables que son innecesarias para el tratamiento del objeto pero necesarias para su funcionamiento privadas, asi como las funciones que no necesitan interaccin del usuario o que solo pueden ser llamadas por otras funciones dentro del objeto (Como por ejemplo, palpitar) La encapsulacin es muy conveniente y nos permite (Si programamos bien) colocar en funcionamiento nuestro objeto en cualquier tipo de sistema, de una manera modular y escalable (algunas de las reglas de la ingeniera del software).
Tomado de: http://algonzalezpoo.wordpress.com/encapsulamiento/
10. Cmo se definen arreglos y cadenas en Java?
Los arreglos se pueden definir como objetos en los que podemos guardar mas de una variable, es decir, al tener un unico arreglo, este puede guardar multiples variables de acuerdo a su tamao o capacidad, es importante recordar que las variables guardadas deben ser del mismo tipo, por ejemplo: Si tenemos un arreglo de tipo Numerico que puede almacenar 10 variables, solo podra almacenar 10 numeros diferentes, no otras variables como caracteres o Strings.
Existen 2 tipos de arreglos, los unidimensionales, y los multidimensionales(generalmente 2 dimensiones y se les denomina matrices), en esta leccin veremos como declarar y utilizar los arreglos unidimensionales, estos son mas sencillos y faciles de comprender, y pueden servirnos para muchas aplicaciones.
Declaracin: La estructura de declaracin de un arreglo es la siguiente:
tipo_dedato [] nombre_variable; //tambien puede declararse tipo_dedato nombre_variable[];
Ejemplo
1 String array[]; //donde array es un arreglo que guardara variables tipo Strings 2 double array2[]; //donde array2 es un arreglo que guardara variabels tipo double 3 int [] array3; //donde array3 es un arreglo que guardara variables tipo int(numericas)
Tomado de http://codigoprogramacion.com/cursos/java/96-arreglos-en-java.html#.U3- KHnJ5N1Y
11. Cules son los flujos de E/S en Java?
En Java se accede a la E/S estndar a travs de campos estticos de la clase java.lang.System System.in implementa la entrada estndar System.out implementa la salida estndar System.err implementa la salida de error
Dos tipos de clases de E/S: Readers y Writers para texto: Basados en el tipo char Streams (InputStream y OutputStream) para datos binaries: Basados en el tipo byte
Tomado de: https://www.fdi.ucm.es/profesor/jpavon/poo/2.13.EntradaySalida.pdf
12. Cmo se definen la Gestin De Excepciones y Errores en Java?
Un ejemplo del uso de excepciones y errores en java es public class Hello { public static void main(String argv[]){ int uno_diez[] = new int[10]; try { uno_diez[12] = 10; } catch(java.lang.ArrayIndexOutOfBoundsException) { System.out.println(Error, hemos sobrepasado el tamao del array); // aqu podemos hacer lo que queramos } } }
Tomado de: http://www.tecn.upf.es/~bouayad/prog/material/teoria/streams/exceptions.pdf
13. Cmo se define la herencia de excepciones en Java? Si alguno de los mtodos heredados lanza excepciones en la superclase, tambin las lanzar en la clase derivada, con la particularidad de que adems, slo podr lanzar las mismas excepciones que en la superclase.
class B extends A{ ... void funcion() throws EOFException, FileNotFoundException //ERROR! { ... } }
Los mtodos heredados en una clase derivada, pueden lanzar menos excepciones que en la definicin original, pero nunca pueden lanzar excepciones nuevas que no se lanzaran en la definicin original.
*A la vista de esto un mtodo puede indicar en su declaracin que lanza excepciones que realmente no lanza. En una clase que va a ser superclase de otras, se puede indicar en sus mtodos que estos lanzan excepciones que realmente no se llegan a producir, al menos en la definicin original, con miras a que en las redefiniciones de las subclases derivadas s se puedan lanzar. En los constructores, al no heredarse, puede lanzarse todas las excepciones que se quiera.
Tomado de: http://docentes.uni.edu.ni/fec/Giovanni.Saenz/archivos/Manejo%20de%20Excepciones%20 XI.pdf
14. Cmo es manejo de excepciones: try - catch finally en Java?
Sintaxis del Bloque try/catch/finally
Para los Bloques try/catch existe una variacin que consiste en agregar una seccin denominada finally, dicha estructura estara compuesta de la siguiente manera:
try { // Cdigo que pueda generar Errores ("Exception's") } catch(Tipo1 id1) { // Manejar "Exception's" para la Clase Tipo1 } catch(Tipo2 id2) { // Manejar "Exception's" para la Clase Tipo2 } catch(Tipo3 id3) { // Manejar "Exception's" para la Clase Tipo3 } finally { // Actividades que siempre ocurren }
La utilizacin de finally es empleada dentro de un Bloque try/catch para realizar tareas que deben ser ejecutadas independientemente del comportamiento de errores.
Cuando se atrapa un error ("Exception") un programa queda inconcluso, es esta terminacin abrupta la que puede causar que algn recurso/mecanismo permanezca asignado o mal utilizado; a travs de una seccin finally se garantiza que sea ejecutado un juego de instrucciones independientemente del tipo de error que pueda ocurrir; un uso muy comn para una seccin finally consiste en liberar conexiones hacia Bases de Datos que pudieran haber sido asignadas en la seccin try.
Tomado de: http://javabasico.osmosislatina.com/curso/progavanza2/trycatch.htm
15. Cmo se maneja el lanzamiento de excepciones: throw throws en Java?
Throws y throw: throws sirve para indicar que en caso de que se produzca una excepcin, el mtodo en el que se produce la misma, no la manejar, sino que la excepcin ser manejada por un mtodo invocante o superior.
Esto hace necesario y obligatorio que esta palabra clave se use en conjunto con throw, ya que si el mtodo en el que se produce la excepcin no tratar la misma, se la debe lanzar (throw) a un mtodo superior.
Tomado de http://www.todoexpertos.com/categorias/tecnologia-e- internet/programacion/java/respuestas/2119843/throw-y-throws
16. Qu son los mtodos en programacin Orientada a objetos?
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecucin se desencadena tras la recepcin de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un mtodo puede producir un cambio en las propiedades del objeto, y/o la generacin de un "evento" con un nuevo mensaje para otro objeto del sistema.
Tomado de: http://indira-informatica.blogspot.com/2007/04/programacin-orientada-objeto- la.html
17. Qu es una instanciacin de las clases en programacin orientada a objetos
Una clase es como la definicin de un objeto, pero no es el objeto en s, del modo como una idea no es una cosa fsica (el ejemplo de la silla). As que para sentarnos necesitaremos convertir esa idea en algo, en un objeto real; a ese objeto lo llamamos instancia.
En un mismo proyecto puedo tener una o ms instancias de una misma clase sin problemas.
Cada vez que creamos una nueva instancia, sta adquiere las propiedades, mtodos y eventos de la clase a la que pertenece (es lo que permite la relacin es un), sin embargo, cada instancia es independiente de las otras; esto nos da dos ventajas:
Si hago algn cambio en la clase, todas las instancias de esta clase se actualizarn automticamente; esto nos permite hacer cambios sin tener que ir a cada una de las instancias (se aplica el mismo principio de herencia, aunque a un nivel diferente). Al ser independientes de las otras instancias, puedo darles valores diferentes sin que afecten a las dems (como tener una silla negra, una roja, una ms alta, etc.). Aunque comparten la misma estructura, pueden programarse individualmente, dando versatilidad y flexibilidad al cdigo.
Tomado de: http://thefricky.wordpress.com/2008/01/15/programacion-orientada-a-objetos- clase-e-instancia/
18. Qu es una referencia a Objeto e Instancias en programacin orientada a objetos?
Son un tipo de dato estrechamente relacionado con los punteros. Una referencia de un objeto no es un objeto, en el sentido que no tiene su propio espacio de almacenamiento como ocurre con los punteros, y en consecuencia no pueden realizarse con ellas muchas de las operaciones que se relacionan con objetos. Por ejemplo obtener su direccin, crearlas con el operador nuevo, o crear matrices de referencias.
Una referencia es una especie de alias o "alter ego" del objeto. Es un recurso para pasar argumentos a funciones permitiendo que los argumentos no sean simples variables locales de la funcin, sino objetos del mbito que realiza la invocacin, lo que permite que la funcin pueda modificar objetos externos a ella.
Tomado de: http://www.ecured.cu/index.php/Referencias_(programaci%C3%B3n)
19. Cmo se define un constructor en Java?
Los constructores de una clase son fragmentos de cdigo que sirven para inicializar un objeto a un estado determinado. Una clase puede carecer de constructor, pero esto no es lo ms habitual. Normalmente todas nuestras clases llevarn constructor. En un constructor es frecuente usar un esquema de este tipo:
/* Ejemplo - aprenderaprogramar.com */ public MismoNombreQueLaClase (tipo parmetro1, tipo parmetro2 , tipo parmetro n ) { campo1 = valor o parmetro; campo2 = valor o parmetro; . . . campo n = valor o parmetro; }
Tomado de: http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=49 6:como-crear-constructores-con-o-sin-parametros-inicializar-objetos-java-ejercicio- ejemplo-resuelto-cu00639b&catid=68:curso-aprender-programacion-java-desde- cero&Itemid=188
20. Cmo se define el operador new en Java?
El operador new es el encargado de crear instancias de una clase, es decir los objetos que tienen las caractersticas de la clase. El operador new de Java es capaz de reservar la memoria para un objeto de este tipo sabiendo los atributos que tiene segn la definicin de la clase.
Para definirlo se debe:
Definicin de la variable <nombre de la clase>mivariable;
Para declarar el objeto y que se reserve la memoria para ello es necesario utilizar el operador new as
Mivariable=new <nombre de la clase>;
Tomado de: http://www.slideshare.net/eccutpl/poo-java
21. Cmo se Define el operador punto (.) en Java?
El operador (.) (Punto) en Java permite acceder a los distintos miembros de una clase:
Objeto. Miembro
Cuando tenemos un objeto de un tipo determinado y queremos acceder a uno de sus miembros Slo tenemos que poner el identificador asociado al objeto (esto es, el identificador de una de las variables de nuestro programa) seguido por un punto y por el identificador que hace referencia a un miembro concreto de la clase a la que pertenece el objeto.
Cmo se comprueba el estado de un objeto? Accediendo a las variables de instancia del objeto
Objeto. Atributo
Supn que quieres acceder al atributo balance del objeto cuenta, cuenta.balance nos permitira acceder al valor numrico correspondiente al saldo de una cuenta, siempre y cuando cuenta fuese una instancia de la clase Cuenta.
Cmo se le enva un mensaje a un objeto? Invocando a uno de sus mtodos.
Objeto. Mtodo (lista de parmetros)
La llamada al mtodo hace que el objeto realice la tarea especificada en la implementacin del mtodo, tal como est definida en la definicin de la clase a la que pertenece el objeto.
Tomado de: http://elvex.ugr.es/decsai/java/pdf/3B-Clases.pdf