You are on page 1of 10

1.

¿Qué es programación orientada a objetos?

Es un lenguaje que usa objetos y sus interacciones para diseñar aplicaciones y pro gramas de computadores, más cercano a como expresaríamos las cosas en la vida real; tratan a los programas como un conjunto de objetos que se ayudan entre ellos par a realizar acciones este lenguaje está basado en técnicas como la herencia, cohes ión, abstracción, polimorfismo, acoplamiento, y encapsulamiento Los objetos tienen t oda la información o atributos que los hace diferenciar de otros pertenecientes a otra clase. Por medio de unos métodos se comunican los objetos de una misma o dife rente clase produciendo el cambio de estado de los objetos. Esto hace que a los objetos se les trate como unidades indivisibles en las que no se separan la info rmación ni los métodos usados en su tratamiento. 2. ¿Cuáles son los pilares de la programación orientada a objetos?

Los pilares de la programación orientada a objetos son: la encapsulación, la herenci a y el polimorfismo La La La El 3. Abstracción encapsulación herencia polimorfismo ¿Qué es Polimorfismo y de un ejemplo?

Es la cualidad de implementar de forma particular algunas de las características q ue tienen las clases, de forma que cuando necesitemos usarlas no nos preocupe la implementación interna que cada una tenga, lo que realmente nos interesa o nos de be importar es que podemos usar esas características e incluso podamos acceder a e llas de forma anónima... o casi. Por ejemplo: cuando apretamos el acelerador de un auto no va a responder igual e l que posee un motor diésel al que tiene un motor de gasolina. 4. ¿Qué es encapsulamiento y de un ejemplo?

Es la cualidad de unificar los datos y la forma de manipularlos, de esta forma p odemos ocultar el funcionamiento de una clase y exponer solo los datos que manip ula (mediante propiedades), así como proveer de medios para poder manipular dichos datos (mediante métodos). De esta forma solo exponemos al mundo exterior la infor mación y la forma de manipularla, ocultando los detalles usados para manejar esos datos y, lo que es más importante, evitando que nadie manipule de una forma no con trolada dicha información. Por ejemplo: De un televisor, el usuario conoce su apariencia y parte de su func ionamiento. Sólo le importa que funcionen el selector de canales, el video y el au dio; no le interesa saber cómo funciona cada una de las partes internas del aparat o, ese detalle sólo le interesan al fabricante y al técnico de servicio.

5.

¿Que es Herencia y de un ejemplo?

La Herencia lo que nos dice es que puede crearse un objeto a partir de otro obje to ya existente. El nuevo objeto hereda todas las cualidades del objeto del que deriva y además puede añadir nuevas funcionalidades o modificar las ya existentes. Por ejemplo: Imaginemos que tenemos un ordenador con sus planos y queremos fabri car otro ordenador. En vez de crear uno de cero, sería mucho más sencillo basarnos e n el ordenador que ya tenemos y añadirle o modificarle ciertas funcionalidades com

o podrían ser: aumentar su capacidad, su velocidad de procesamiento. 6. ¿Que es Abstracción y de un ejemplo?

La abstracción es la capacidad de obtener y aislar toda la información y cualidade s de un objeto que no nos parezcan relevantes, para poder encapsularlos. Para el lo separamos "mentalmente" los objetos y nos centramos en su comportamiento fund amental. Por ejemplo: un objeto llamado gato. El gato tiene propiedades o características (nombre, color, peso, precio, edad ), y métodos o comportamientos (andar, maullar, lamerse las pelotas...), Gracias a la abstracción, otro objeto, por ejemplo el "ob jeto vendedor" puede manipular el "objeto gato" sin tener en cuenta algunas de s us propiedades y métodos, ya que solo le interesan algunas, como el precio. 7. Modelo Vista-Controlador:

Es un patrón que define la organización independiente del Modelo (Objetos de Negocio ), la Vista (interfaz con el usuario u otro sistema) y el Controlador (controlad or del workflow de la aplicación). De esta forma, dividimos el sistema en tres capas donde, como explicaremos más ade lante, tenemos la encapsulación de los datos, la interfaz o vista por otro y por últ imo la lógica interna o controlador. El patrón de arquitectura "modelo vista control ador", es una filosofía de diseño de aplicaciones, compuesta por: Modelo: Contiene el núcleo de la funcionalidad (dominio) de la aplicación. Encapsula el estado de la aplicación. No sabe nada / independiente del Controlador y la Vista. Vista: Es la presentación del Modelo. Puede acceder al Modelo pero nunca cambiar su estado. Puede ser notificada cuando hay un cambio de estado en el Modelo. Controlador: Reacciona a la petición del Cliente, ejecutando la acción adecuada y creando el mode lo pertinente 8. Método:

Es un conjunto de código reutilizable que contiene un conjunto de instrucciones de l cual se puede hacer un uso continuo que se encuentra disponible en cualquier m omento deseado dentro de la aplicación. Los programas hacen que las instrucciones se ejecuten mediante una llamada al método y la especificación de los argumentos de método necesarios.(Acciones) 9. Clase:

Es una colección o conjunto de objetos que comparten características comunes entre sí; Un conjunto de cosas (físicas o abstractas) que tienen el mismo comportamiento y características, Una clase no es más que una plantilla para la creación de objetos. Cu ando se crea un objeto (instanciación) se ha de especificar de qué clase es el objet o instanciado, para que el compilador comprenda las características del objeto. 10. Objeto:

Es una estructura de datos formada por tantos atributos como tiene la clase. Es una unidad dentro de un programa de computadora que consta de un estado y de

un comportamiento, que a su vez constan respectivamente de datos almac enados y de tareas realizables durante el tiempo de ejecución; Es el encapsulamien to de un conjunto de operaciones (métodos) que pueden ser invocados externamente, y de un estado que recuerda el efecto de los servicios. 11. Instancia:

Una realización específica de una clase o prototipo determinados. En general, cuando se ejecuta un programa en un computador, se dice que éste se instancia. En lengua jes que crean objetos a partir de clases, un objeto es una instancia de una clas e. Esto es, es un miembro de una clase que tiene atributos en lugar de variables ; Una instancia es una estructura constituida por los atributos descritos para la clase 12. ¿Qué es java?

Es un lenguaje de programación orientado a objetos y la primera plataforma informát ica creada por Sun Microsystems en 1995. Es la tecnología subyacente que permite e l uso de programas punteros, como herramientas, juegos y aplicaciones de negocio s. Java se ejecuta en más de 850 millones de ordenadores personales de todo el mun do y en miles de millones de dispositivos, como dispositivos móviles y aparatos de televisión. 13. ¿Qué es IDE NETBEANS? los programadores puedan escrito en Java - pero pued Existe además un número importa IDE es un producto libre y

Es un entorno de desarrollo - una herramienta para que escribir, compilar, depurar y ejecutar programas. Está e servir para cualquier otro lenguaje de programación. nte de módulos para extender el NetBeans IDE. NetBeans gratuito sin restricciones de uso. 14. Entorno

NetBeans nos ofrece un esqueleto de clase Main, que podemos utilizar para hacer nuestra primera prueba. Por defecto, NetBeans compila automáticamente los archivos en el momento en que los grabas (icono del diskette), de forma que únicamente nec esitamos utilizar el botón que representa una flecha verde, como el play de un man do a distancia. Verás el resultado de la ejecución en la ventana inferior:

15.

¿Que es compilar?

Compilar se refiere a la acción por medio de la cual, una serie de instrucciones e scritas o codificadas en lenguaje de programación son convertidas a lenguaje máquina (binario) de tal forma que puedan ser ejecutadas por medio de un programa infor mático 16. ¿Qué es Depurar?

Es la etapa final en la creación de una aplicación informática, básicamente depurar sign ifica limpiar, cualquier programa o aplicación tiene error en su código, con lo cual es necesaria una depuración para su correcto funcionamiento, el cual es identific ar los errores para corregirlos.

17.

Recolector de Basura:

Java dispone de un mecanismo conocido como de "recogida de basura", el cual Hace que, durante la ejecución de un programa, los objetos que ya no se utilizan s e eliminen automáticamente de la memoria. Dicho mecanismo facilita enormemente el diseño de un programa y optimiza los recursos de la máquina que se esté usando para la ejecución del mismo. 18. JDK-JRE:

Es un software que provee herramientas de desarrollo para la creación de programas en Java. Puede instalarse en una computadora local o en una unidad de red. En la unidad de red se pueden tener las herramientas distribuidas en varias comp utadoras y trabajar como una sola aplicación. JDK consta de una serie de aplicacio nes y componentes, para realizar cada una de las tareas de las que es capaz de e ncargarse. JRE: El JRE actúa como un "intermediario" entre el sistema operativo y Java, Un usuario sólo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Jav a, mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesa rio un entorno de desarrollo, denominado JDK, que además del JRE (mínimo imprescindi ble) incluye, entre otros, un compilador para Java. 19. ? Tipos de Métodos y de un ejemplo de cada uno

Método Static: Sirve para crear miembros que pertenecen a la clase, y no a una instancia de la clase. Esto implica, entre otras cosas, que no es necesario crear un objeto de la clase para poder acceder a estos atributos y métodos; son mét odos cuyo resultado o efecto es independiente de los atributos que pueda tener u n objeto de esta clase, y por tanto del objeto en sí.

? Public: Este nivel de acceso permite a acceder al elemento desde cualqui er clase, independientemente de que esta pertenezca o no al paquete en que se en cuentra el elemento; son aquellos que pueden ser accedidos desde fuera de la cla se. El uso del calificador public significa que toda definición será accesible de cualqu ier punto, ya sea un método, campo o clase. Su uso implica un acceso global, desde luego el uso de este calificativo en Clases que serán modificadas constantemente es fuertemente desalentado, ya que puede quebrantar dependencias forjadas en ver siones previas. ? Private: son aquellos cuyo uso es interno a la clase; El calificador pri vate indica que dicho componente será accesible únicamente dentro de la Clase en cue stión, si se intenta accesar cualquier elemento de este tipo dentro de otra Clase será generado un error de compilación. El calificador private suele utilizarse en Clases que serán modificadas continuame nte, esto permite evitar futuros quebrantos en otras Clases como fue mencionado al inicio. 20. Que significa System.in

Tenemos System.in para leer de ella. System.in es un objeto de una clase de java que se llama InputStream. Para java, un InputStream es cualquier cosa de la que se leen bytes. Puede ser el teclado, un fichero, un socket, o cualquier otro di

spositivo de entrada. Esto, por un lado es una ventaja. Si todas esas cosas son InputStream, podemos hacer código que lea de ellas sin saber qué estamos leyendo. // Lectura de un byte int byte = System.in.read(); // Lectura de hasta 10 bytes byte [] buffer = new byte[10]; System.in.read(byte); El problema de leer bytes, es que luego debemos convertirlos a lo que necesitemo s. Por ejemplo, si tecleamos una letra A mayúscula, el byte leído es el 65, correspo ndiente a la A mayúscula en código ASCII. Si tecleamos un 3 y un 2, es decir, un 32, leeremos dos bytes 51 y 52, correspondientes a los caracteres ASCII del 3 y del 2, NO leeremos un 32. 21. Que significa Toptionpane

Un cuadro de diálogo no es más que una ventana que nos permite mostrar mensajes, por ejemplo de error, de advertencia o de información, o para pedir el ingreso de un valor, además nos permite solicitar al usuario su intervención para decidir si se re alizará o no una acción, como ser los mensajes de confirmación. JOptionPane es una clase de la biblioteca Swing (que contiene las librerías de int erfaz gráfica de usuario), para poder usar sus métodos es necesario importarla: impo rt javax.swing.JOptionPane JOptionPane.showOptionDialog() Tenemos un método JOptionPane.showOptionDialog() que nos muestra la ventana más conf igurable de todas, en ella debemos definir todos los botones que lleva. De hecho , las demás ventanas disponibles conJOptionPane se construyen a partir de esta. Po r ello, al método debemos pasarle muchos parámetros: ? parentComponent: A partir de este componente, se intentará determinar cuál e s la ventana que debe hacer de padre del JOptionPane. Se puede pasar null, pero conviene pasar, por ejemplo, el botón desde el cual se lanza la acción que provoca q ue se visualice el JOptionPane. De esta manera, la ventana de aviso se visualiza rá sobre el botón y no se podrá ir detrás del mismo si hacemos click en otro sitio. ? message: El mensaje a mostrar, habitualmente un String, aunque vale cual quier Object cuyo método toString() devuelva algo con sentido. ? title: El título para la ventana. ? optionType: Un entero indicando qué opciones queremos que tenga la ventana . Los posibles valores son las constantes definidas en JOptionPane: DEFAULT_OPTI ON, YES_NO_OPTION, YES_NO_CANCEL_OPTION, o OK_CANCEL_OPTION. ? messageType: Un entero para indicar qué tipo de mensaje estamos mostrando. Este tipo servirá para que se determine qué icono mostrar. Los posibles valores son constantes definidas en JOptionPane:ERROR_MESSAGE, INFORMATION_MESSAGE, WARNING _MESSAGE, QUESTION_MESSAGE, o PLAIN_MESSAGE ? icon: Un icono para mostrar. Si ponemos null, saldrá el icono adecuado según el parámetro messageType. ? options: Un array de objects que determinan las posibles opciones. Si lo s objetos son componentes visuales, aparecerán tal cual como opciones. Si son Stri ng, el JOptionPane pondrá tantos botones comoString. Si son cualquier otra cosa, s e les tratará como String llamando al método toString(). Si se pasa null, saldrán los botones por defecto que se hayan indicado en optionType. ? initialValue: Selección por defecto. Debe ser uno de los Object que hayamo s pasado en el parámetro options. Se puede pasar null. La llamada a JOptionPane.showOptionDialog() devuelve un entero que representa la opción que ha seleccionado el usuario. La primera de las opciones del array es la posición cero. Si se cierra la ventana con la cruz de la esquina superior derecha , el método devolverá -1.

Aquí un ejemplo de cómo llamar a este método 1 2 3 4 5 6 7 8 9 10 11 12

int seleccion = JOptionPane.showOptionDialog( unComponentePadre, "Seleccione opcion", "Selector de opciones", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, unIcono, // null para icono por defecto. new Object[] { "opcion 1", "opcion 2", "opcion 3" }, CANCEL "opcion 1");

// null para YES, NO y

if (seleccion != -1) System.out.println("seleccionada opcion " + (seleccion + 1)); y la ventana que se obtiene con el código anterior JOptionPane.showInputDialog() Tenemos varios métodos JOptionPane.showInputDialog() y la diferencia entre ellos e s que tienen más o menos parámetros, según queramos aceptar o no las opciones por defe cto. Los parámetros y sus significados son muy similares a los del método showOption Dialog(), pero hay una diferencia. Si usamos los métodos que no tienen array de opciones, la ventana mostrará una caja de texto para que el usuario escriba la opción que desee (un texto libre). Si usam os un método que tenga un array de opciones, entonces aparecerá en la ventana un JCo mboBox en vez de una caja de texto, donde estarán las opciones que hemos pasado. Aquí un par de trozos de código, el primero para conseguir una caja de texto, 1 2 3 4 5 6 7 // Con caja de texto String seleccion = JOptionPane.showInputDialog( unComponentePadre, "Input dialog", JOptionPane.QUESTION_MESSAGE); // el icono sera un iterrogante System.out.println("El usuario ha escrito "+seleccion); y la imagen que obtenemos con este código En este segundo ejemplo, damos todas las opciones que queremos, obteniendo un JC omboBox 1 2 3

4 5 6 7 8 9 10 11 // Con JCombobox Object seleccion = JOptionPane.showInputDialog( unComponentePadre, "Seleccione opcion", "Selector de opciones", JOptionPane.QUESTION_MESSAGE, unIcono, // null para icono defecto new Object[] { "opcion 1", "opcion 2", "opcion 3" }, "opcion 1"); System.out.println("El usuario ha elegido "+seleccion); y esta es la imagen que se obtiene. JOptionPane.showMessageDialog() Esta es la más sencilla de todas, sólo muestra una ventana de aviso al usuario. La e jecución se detiene hasta que el usuario cierra la ventana. Hay varios métodos con e l mismo nombre y más o menos parámetros, en función de si aceptamos las opciones por d efecto (icono, por ejemplo) o queremos cambiar alguna cosa. Un trozo de código par a llamarlo JOptionPane.showMessageDialog( componentePadre, "Un aviso puñetero"); System.out.println("ya estas avisado"); y la imagen que muestra este código JOptionPane.showConfirmDialog() Este método muestra una ventana pidiendo una confirmación al usuario, estilo "¿Seguro que lo quieres borrar todo?" y da al usuario opción de aceptar o cancelar ese borr ado masivo que está a punto de hacer. El método devuelve un entero indicando la resp uesta del usuario. Los valores de ese entero puede ser alguna de las constantes definidas en JOptionPane: YES_OPTION, NO_OPTION, CANCEL_OPTION, OK_OPTION, CLOSE D_OPTION. Por supuesto, hay metodos iguales con más o menos parámetros para configur ar las cosas más o menos. El siguiente ejemplo de codigo int confirmado = JOptionPane.showConfirmDialog( componentePadre, "¿Lo confirmas?"); if (JOptionPane.OK_OPTION == confirmado) System.out.println("confirmado"); else System.out.println("vale... no borro nada..."); muestra la siguiente imagen

22. ?

Etiquetas Prin: Print: Se usa para imprimir solo una línea

System.out.print ("Hola mundo );

?

PrintLn: se usa para imprimir en pantalla más de una línea System.out.println ("di "+args[0]+" "+args[1]);

23.

Estructuras condicionales:

? Condicional simple: se evalúa la condición y si ésta se cumple se ejecuta una determinada acción o grupo de acciones. En caso contrario se saltan dicho grupo de acciones. if(expresión_booleana){ instrucción 1 instrucción 2 ....... } Si el bloque de instrucciones tiene una sola instrucción no es necesario escribir las llaves { } aunque para evitar confusiones se recomienda escribir las llaves siempre. Ejemplo de programa Java con estructura condicional: Programa que pide por tecla do la nota obtenida por un alumno y muestra un mensaje si el alumno ha aprobado. import java.util.*; public class Ejemplo0If { public static void main( String[] args ){ Scanner sc = new Scanner( System.in ); System.out.print("Nota: "); int nota = sc.nextInt(); if (nota >= 5 ){ System.out.println("Enorabuena!!"); System.out.println("Has aprobado"); } } } ? Condicional Doble: ? Se evalúa la condición y si ésta se cumple se ejecuta una determinada instruc ción o grupo de instrucciones. Si no se cumple se ejecuta otra instrucción o grupo d e instrucciones. if(expresión booleana){ instrucciones 1 } else{ instrucciones 2 } ? Condicional Multiple: Se obtiene anidando sentencias if ... else. Permite construir estructuras de sel ección más complejas. if (expresion_booleana1) instruccion1; else if (expresion_booleana2) instruccion2; else instruccion3; Cada else se corresponde con el if más próximo que no haya sido emparejado. Una vez que se ejecuta un bloque de instrucciones, la ejecución continúa en la sigui

ente instrucción que aparezca después de las sentencias if .. else anidadas. import javax.swing.JOptionPane; public class EjemploIF{ public static void main(String[] args) { int edad; edad=Integer.parseInt(JOptionPane.showInputDialog("ingrese su edad")) ; if(edad >= 18) { JOptionPane.showMessageDialog(null," eres mayor de edad " ); } else { JOptionPane.showMessageDialog(null,"No eres mayor de edad " ); } } } ? Condicional Compuesto

import java.util.Scanner; public class EjemplosIFAnidados { public static void main(String[] args) { Scanner eda= new Scanner (System.in); System.out.print("ingrese su edad"); int edad= eda.nextInt(); if(edad >= 18) { System.out.println("Tienes 18 o mas."); } else if(edad >= 15) { System.out.println("Tienes 15 años o mas pero menos de 18."); }else if(edad >= 10) { System.out.println("Tienes 10 años o mas pero menos de 15."); } else { System.out.println("Eres un niño."); } } }