Autor Tema: Exámenes resueltos programación orientada objetos Java UNED Ingenier Informática  (Leído 221508 veces)

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #40 en: 12 de Noviembre 2011, 00:09 »
Bueno, menos cachondeo y espero que esto esté sirviendo para algo.

PREGUNTA: ¿Son las llamadas a métodos en java polimórficas?

RESPUESTA: Sí. Decimos que sí en el sentido de que un método sobreescrito en una subclase implica que una invocación al método pueda invocar al método de la subclase o al de la superclase, dependiendo del tipo dinámico de la variable.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #41 en: 13 de Noviembre 2011, 10:09 »
Hola nosferacento, yo creo que has creado un hilo bastante interesante. Quitando algunas preguntas propias de la inhalación de sustancias alucinógenas, el resto se ven bastante útiles y además de para preparar exámenes de universidad pueden servir para preparar certificaciones de programador Java. Saludos.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
nombre de fichero y clase java
« Respuesta #42 en: 16 de Noviembre 2011, 07:56 »
Gracias Alex por ese comentario. Seguimos con el lío...

PREGUNTA: ¿Cuál es el nombre del fichero java y de la clase según este código?

class BaseClass {
    private float x = 1.0f;
    protected float getVar () { return x; }
}

class Subclass extends BaseClass {
    private float x = 2.0f; 
}



RESPUESTA: El nombre es BaseClass. A falta de especificación de una clase como public, siempre se coge como nombre el nombre de la primera clase que aparezca.

asturinha

  • Sin experiencia
  • *
  • Mensajes: 18
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #43 en: 17 de Noviembre 2011, 08:31 »
¿Qué sentido tiene definir una clase con visibilidad no public?

En la escuela siempre la indicabamos public.

¿Alguien me puede aclarar algo sobre este tema?

Gracias

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #44 en: 18 de Noviembre 2011, 08:28 »
Hola asturinha, la forma más habitual de declarar una clase efectivamente es public. Pero en realidad public es uno de los cuatro modificadores de acceso que permite Java, y que son: public, private, protected y "no especificado".

Declarar una clase sin modificador de acceso yo creo que es poco habitual, pero Java lo admite. Además cada modificador da privilegios de acceso diferentes. Yo creo que el hecho de poner preguntas de este tipo es por un lado para liarla y por otro lado para comprobar el nivel de conocimiento sobre cuestiones poco habituales en Java.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
sobreescribir con modificador de acceso protected
« Respuesta #45 en: 20 de Noviembre 2011, 15:44 »
Ahí vamos con otra.

PREGUNTA: ¿Qué dos formas hay de sobreescribir el método getVar() definido en el código, dentro de la subclase?

class BaseClass {
    private float x = 1.0f;
    protected float getVar () { return x; }
}

class Subclass extends BaseClass {
    private float x = 2.0f; 
}


El método lleva como modificador de acceso protected, lo que significa que es visible en la clase, el package y por las subclases. Protected podríamos decir que es cuasi-público. Para reescribirlo hemos de usar un modificador igual o que dé mayor acceso. Por tanto hay dos formas de redefinirlo:

a)   protected float getVar() {return x;}
b)    public float getVar() {return x;}

Las formas sin modificador y private son más restrictivas y por tanto no pueden usarse para sobreescribir el método.

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #46 en: 21 de Noviembre 2011, 08:06 »
nosferacento, ¿se te ocurre alguna forma de controlar la webcam desde java?

Esto no creo que sea muy complicado. La idea es crear un servidor con Java que coja la imagen de la webcam y que un cliente hecho en J2ME (Java para dispositivos Móviles) se conecte al servidor y obtenga esas imágenes, pudiendo ver lo que la cámara webcam ve.

A ver si os ocurre algo...
« Última modificación: 21 de Noviembre 2011, 08:09 por javi in the sky »

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #47 en: 22 de Noviembre 2011, 08:35 »
¿Tú te has fumado alguna hierbecita rara?  :-* Aquí estamos todavía con que si las diferencias entre public y protected y de aquí a que lleguemos a una webcam puede que ya haya venido la próxima glaciación y estemos todos congeladitos. Bromas aparte, creo que mejor que abras otro hilo para esa curiosidad.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Programación defensiva, extrema y por parejas
« Respuesta #48 en: 24 de Noviembre 2011, 22:13 »
Vamos con otra:

PREGUNTA: ¿Cuál es la definición de programación defensiva, programación extrema y programación por parejas?


RESPUESTA: yo en pareja prefiero hacer otras cosas que no son programar. Bueno, vamos con las definiciones verdaderas.

 Programación defensiva: técnica de programación basada en maximizar las verificaciones suponiendo que las peticiones de clientes o entradas de usuario no tienen por qué responder a lógica alguna. Busca mejorar la calidad del software evitando errores, pero supone más código y uso de recursos en verificaciones.

Programación extrema: considerar que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Según esta técnica, ser capaces de adaptarnos a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto. Una técnica dentro de la programación extrema es la programación por parejas.

Programación por parejas: técnica que se basa en que la implementación de una clase no la realiza una persona sola para después pasar a revisión por otra, sino que el desarrollo de la clase se hace entre dos personas con comunicación constante desde el primer momento.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
interceptar evento cierre ventana en Java
« Respuesta #49 en: 25 de Noviembre 2011, 10:21 »
PREGUNTA: ¿Qué interface y clase hemos de usar para interceptar el evento de cierre de una ventana?

RESPUESTA: Interface WindowListener, clase WindowAdapter. Mucha gente piensa que se usaría un ActionListener, pero JFrame no tiene disponible el método addActionListener, sí en cambio el método addWindowListener. Lo mejor es hacer un pequeño código y verlo con nuestros propios ojos, porque si no lo hacemos memorizarlo sin más es un poco difícil. Queda dicho.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
forma en que se pasan los parámetros a métodos y constructores java
« Respuesta #50 en: 26 de Noviembre 2011, 00:14 »
PREGUNTA: ¿Qué resultado se obtiene al ejecutar este código Java?

public class test {
    public static void add3 (Integer i) {
        int val = i.intValue();
        val += 3;
        i = new Integer (val);
    }

    public static void main (String args[]) {
        Integer i = new Integer (0);
        add3 (i);
        System.out.println (i.intValue ( ) );
    }
}



RESPUESTA:

Esta pregunta tiene su interés, ya que en el fondo está la forma en que se pasan los parámetros a los métodos y constructores: ¿por valor o por variable? Por pantalla se imprime un 0. i = new Integer (val) es una modificación de la referencia a objeto que es la variable. Como la referencia a objeto se pasa por valor (una copia), esta modificación no es conocida luego en el main. Resultado, se imprime un cero.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
por valor o referencia java
« Respuesta #51 en: 27 de Noviembre 2011, 18:18 »
Por si no ha quedado claro: los parámetros en Java se pasan por valor. Lo que pasa es que en java al tratarse de programación orientada a objetos sacar conclusiones de esta afirmación no es igual de fácil que en otros lenguajes. Este es uno de los motivos por los que se dice que la programación orientada a objetos es un poco más complicada.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
sobrecarga de métodos en java
« Respuesta #52 en: 28 de Noviembre 2011, 00:20 »
PREGUNTA: Dado el siguiente código, indicar si el método private void setVar (int a, float c, int b) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: Sí, este método sería una sobrecarga válida desde el momento en que los tipos de los parámetros no coinciden con los tipos del método ya escrito. En concreto en el ya escrito tenemos int, int, float y en el nuevo tenemos int, float, int. Sobrecargar implica que constituyan métodos distintos, y esto se produce. Sobreescribir sería otra cosa: que coincidan el nombre del método, de los parámetros y el tipo de los parámetros.

carlinhomendez

  • Sin experiencia
  • *
  • Mensajes: 27
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #53 en: 28 de Noviembre 2011, 18:31 »
Este hilo sobrecarga hasta el cortocircuito  :P

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
sobrecarga válida de un método java
« Respuesta #54 en: 29 de Noviembre 2011, 12:03 »
Eres un crack carlinho. Continuamos con el hilo cortocircuitador.

PREGUNTA: Dado el siguiente código, indicar si el método protected void setVar (int a, int b, float c) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: No, este método no sería una sobrecarga válida desde el momento en que coincide el nombre y los tipos de los parámetros.

« Última modificación: 14 de Septiembre 2012, 12:19 por nosferacento »

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #55 en: 30 de Noviembre 2011, 10:17 »
Jijijiji, los programadores tienen una mente robótica!!, por eso ellos entenderán estas cosas...

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #56 en: 01 de Diciembre 2011, 11:07 »
No mujer, tampoco es eso. No tenemos la mente robótica :D Es más parecido a sólo saber español e intentar hablar otro idioma con otra persona. Así con los lenguajes de programación es como 'hablamos' con los ordenadores, indicándoles que deben hacer.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
sobrecargar un método java
« Respuesta #57 en: 12 de Diciembre 2011, 22:19 »
PREGUNTA: Dado el siguiente código, indicar si el método protected void setVar (int flin, int flan, float flon) { } constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: No, este método no sería una sobrecarga válida desde el momento en que coinciden los tipos de los parámetros y el nombre del método. Que el nombre de los parámetros no coincida es irrelevante, ya que esto no permite diferenciar un método de otro a la hora de invocarlo.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
sobrecarga válida según tipos de parámetros java
« Respuesta #58 en: 17 de Diciembre 2011, 00:39 »
Aquí sigue el rayo que no cesa del Java, también llamado el tío de la vara del Java o el cansino histórico del Java, ofreciendo suculentas preguntas y respuestas.

PREGUNTA: Dado el siguiente código, indicar si el método public int setVar (float a, int b, int c) {return b;} constituiría una sobrecarga válida del método setVar.

public class Preg15testJunio {
public void setVar (int a, int b, float c) { }
// Nuevo código
}


RESPUESTA: Sí, sería una sobrecarga válida desde el momento en que coincide el nombre pero los tipos de los parámetros son distintos. No sería válida si los tipos fueran coincidentes.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
condición que puede evaluarse en un if java
« Respuesta #59 en: 18 de Diciembre 2011, 17:24 »
PREGUNTA: ¿Cuál es el resultado de ejecutar este código?

int i=0;
        if (i) {
            System.out.println ("Hello");
        }



RESPUESTA: Error de compilación: en el if se espera un tipo boolean y se encuentra un tipo int. Tampoco sería válido i || i por el mismo motivo. Sí sería válido i ==i (imprimiría Hello) ó i!=i (no imprimiría nada por pantalla).

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".