Ingredientes y Métodos en Java
Ingredientes y Métodos en Java
Puntos totales de 10
1.
Pregunta 1
Elige 3 opciones que corresponden a ingredientes de nuestros proyectos:
1 / 1 punto
Accesos
Identificadores
Clases
Correcto
😊 Vas a construir una o más clases como parte de tu proyecto.
Funciones propias
Correcto
😊 Algunas de las clases de tu proyecto tendrán funciones propias (métodos) que definan lo que los objetos de esa clase
pueden hacer.
Constantes
Correcto
😊 Tu proyecto tendrá algunas constantes para facilitar la posible modificación de este tipo de valores.
2.
Pregunta 2
Elige 2 opciones que hablan de una diferencia entre una variable y una constante en el lenguaje de programación Java:
0 / 1 punto
Las constantes sólo pueden ser números mientras que las variables se pueden referir a cualquier tipo
A las constantes se les debe asignar valor al construir el objeto y a las variables no
3.
Pregunta 3
Elige 3 afirmaciones que sean verdaderas:
0 / 1 punto
Las constantes las identificas por estar escritas sólo con verbos
Los únicos identificadores que empiezan con mayúscula son los de las constantes
Esto no debería estar seleccionado
☹ Los identificadores para las constantes deberían consistir únicamente de mayúsculas y guiones bajos. Los
identificadores de clases e interfaces deberían empezar con mayúscula. Esta es una regla que Java no vigila, sino que es de
educación.
La única regla obligatoria para los identificadores es la que dice que pueden contener letras, números, guion bajo y signo
de pesos; deben empezar con letra o guion bajo.
Correcto
😊 Para Java es lo mismo que a una constante que llamas VEINTE valga 10, -5 o 25. Simplemente te pide que no uses el
mismo identificador para valores distintos.
4.
Pregunta 4
Identifica las diferencias entre los distintos tipos enteros de Java, además del nombre de su tipo. Elige 2 opciones que
consideres correctas.
0 / 1 punto
El tamaño que usa cada uno, va de mayor a menor en el orden en que están listados
Correcto
😊 Si te fijas en la tabla donde están descritos los tipos primitivos correspondientes a números, verás que el número de
bits que se usan para su representación va de mayor a menor. El rango de un entero depende de cuántos bits usas para su
representación.
char
double
boolean
long
Correcto
😊 En efecto, éste no es un tipo primitivo pues está formado por caracteres y cada uno puede ser usado
independientemente del resto de la cadena.
6.
Pregunta 6
Elige 3 opciones que sean números reales:
1 / 1 punto
0.0001
Correcto
😊 Este es un número real sin parte entera, pero lo que importa es que tenga parte decimal. Se va a representar como un
número real en la computadora.
20017
43210987
7.0
Correcto
😊 Este es un número real pues tiene una parte fraccionaria, aunque esta parte valga 0. Su representación interna en la
computadora es la de un número real.
7.
Pregunta 7
Elige la opción que complete el enunciado: Una variable que es una referencia es aquella que contiene:
0 / 1 punto
Un entero
byte
float
long
short
int
Incorrecto
☹ Aunque su rango es más pequeño que el de los enteros, también tiene muchísimos valores que no vamos a usar.
9.
Pregunta 9
Elige 2 opciones que sean verdaderas respecto a un atributo (o identificador) con el modificador static:
0 / 1 punto
Porque esos atributos tienen el mismo valor para todos los objetos
Esto no debería estar seleccionado
☹ Eso sería si los atributos tuviesen el modificador static. El modificador final se refiere a que el valor es una constante.
1. Instrucciones
Las siguientes preguntas aplican a una clase Registro que tiene la tarjeta de responsabilidades con los siguientes atributos:
Acceso Identif Tipo Descripción
Privado Hora byte El número de hora entre 0 y 23.
Privado Minuto short Minutos transcurridos entre 0 y 59.
Privado Anho int Número de año de 4 dígitos.
Privado diaAnho short El número de día entre 1 y 365
Review criteria
Dada la descripción, llena las columnas con las palabras de Java que faltan para las tablas de responsabilidades de los
siguientes métodos:
Descarga el siguiente archivo para que puedas llevar a cabo la actividad.
1.
Pregunta 1
Elige 3 opciones que describen lo que es un método.
0 / 1 punto
En el caso de los discos, el constructor por omisión pondría una cadena nula en el nombre, lo cual no es conveniente
Correcto
😊 Si todos los discos que construyes tienen una cadena nula en el nombre, cero en el año de grabación y cero como tipo
de disco, todos son iguales y no tienes manera de distinguir a uno del otro. Como estos tres atributos son constantes de
objeto, no tendrías forma de cambiarles el valor después.
Le va a pedir al usuario los valores de las constantes de objeto, del atributo que registra las transmisiones permitidas y del
atributo que registra las transmisiones activas
Le va a pedir al usuario los valores de las constantes de objeto y del atributo que registra las transmisiones permitidas
Pone en ceros todos los campos numéricos y en nulo todos los campos de referencia
Va a tomar de la entrada del método los valores para los atributos constantes del objeto
Incorrecto
☹ El número de transmisiones activas debería cambiar únicamente cuando se piden transmisiones o se terminan
transmisiones del disco en cuestión. No es conveniente asignar este valor en la construcción, ya que debe empezar en
cero.
5.
Pregunta 5
Elige 2 opciones que respondan a la siguiente afirmación:
El método daTransmision no tiene como entrada el disco al que se le pide la transmisión porque:
0 / 1 punto
Todos los métodos de una clase tienen implícito (oculto) un primer parámetro que se refiere a this, el objeto desde el cual
está siendo llamado el método (el objeto que recibe este mensaje)
Correcto
😊 Así es. This se refiere siempre, dentro de un método, al objeto al que se le pidió este servicio. No se puede pedir la
ejecución de ningún método si no es a un objeto particular construido.
Se aplica a todos los discos construidos con transmisiones permitidas distintas de cero
Esto no debería estar seleccionado
☹ Ningún método puede aplicarse a un conjunto de objetos pues la sintaxis obliga a llamar al método desde un objeto
particular.
setNOMBRE
terminaTransmision
Esto no debería estar seleccionado
☹ Simplemente avisa falso o verdadero de si el disco al que se le solicitó terminar la transmisión tenía transmisiones
activas (true) o no las tenía (false), en cuyo caso no había transmisiones que terminar.
daTransmision
Correcto
😊 En la columna para la salida y en la descripción del método dice que regresa una cadena de caracteres, que es un
mensaje que indica si pudo dar la transmisión con la hora y fecha, y si no pudo dar la transmisión con un mensaje alusivo
a este hecho.
toString
Correcto
😊 Es un método que da una descripción, en una cadena o String, del objeto con el que se le invoca. Si no se implementa
en tu clase, versiones anteriores de Java regresaban la dirección de memoria en la que está almacenado el objeto.
muestraDisco
Correcto
😊 Regresa una cadena que contiene toda la información del disco al que se pidió este servicio.
getNOMBRE
copiaDisco
7.
Pregunta 7
Elige 2 opciones que sean verdaderas:
0 / 1 punto
Todos los métodos sólo pueden tener un único tipo como salida
Todos los métodos sólo pueden tener un único tipo como entrada
Quién esperas que pueda usar directamente cada atributo y método del objeto
Memoria auxiliar
Memoria de código
Correcto
😊 La Máquina Virtual de Java reparte la memoria en tres partes: En la que deposita el código compilado de las clases que
va a usar; en la que va siguiendo la ejecución de main, para lo que usa una pila; y, por último, en la que va guardando los
objetos que se van construyendo y que se llama heap (cuya traducción literal es montículo, pero es una estructura de datos
particular en programación).
1.
Pregunta 1
0 / 1 punto
😊 Otro nombre que damos a los métodos definidos en una clase es el de función propia, donde el adjetivo
‘’propia’’ es el que indica que pertenece a la clase.
2.
Pregunta 2
Elige 2 opciones que sean verdaderas respecto al constructor por omisión (por ausencia, por default) de Java,
que no tiene ningún parámetro:
0 / 1 punto
☹ Este inciso no debería ser el elegido, porque cualquier otro constructor, tenga o no parámetros, bloquea al
constructor por omisión de Java.
En el caso de los discos, el constructor por omisión pondría una cadena nula en el nombre, lo cual no es
conveniente
Correcto
😊 Si todos los discos que construyes tienen una cadena nula en el nombre, cero en el año de grabación y cero
como tipo de disco, todos son iguales y no tienes manera de distinguir a uno del otro. Como estos tres atributos
son constantes de objeto, no tendrías forma de cambiarles el valor después.
3.
Pregunta 3
0 / 1 punto
Incorrecto
4.
Pregunta 4
0 / 1 punto
Le va a pedir al usuario los valores de las constantes de objeto, del atributo que registra las transmisiones
permitidas y del atributo que registra las transmisiones activas
Le va a pedir al usuario los valores de las constantes de objeto y del atributo que registra las transmisiones
permitidas
Pone en ceros todos los campos numéricos y en nulo todos los campos de referencia
Va a tomar de la entrada del método los valores para los atributos constantes del objeto
Incorrecto
☹ El número de transmisiones activas debería cambiar únicamente cuando se piden transmisiones o se terminan
transmisiones del disco en cuestión. No es conveniente asignar este valor en la construcción, ya que debe
empezar en cero.
5.
Pregunta 5
El método daTransmision no tiene como entrada el disco al que se le pide la transmisión porque:
0 / 1 punto
Todos los métodos de una clase tienen implícito (oculto) un primer parámetro que se refiere a this, el objeto
desde el cual está siendo llamado el método (el objeto que recibe este mensaje)
Correcto
😊 Así es. This se refiere siempre, dentro de un método, al objeto al que se le pidió este servicio. No se puede
pedir la ejecución de ningún método si no es a un objeto particular construido.
Se aplica a todos los discos construidos con transmisiones permitidas distintas de cero
☹ Ningún método puede aplicarse a un conjunto de objetos pues la sintaxis obliga a llamar al método desde un
objeto particular.
6.
Pregunta 6
De los métodos que se enunciaron en la tarjeta de responsabilidades, elige 4 opciones que entregan como
resultado un mensaje o descripción del objeto.
0 / 1 punto
setNOMBRE
terminaTransmision
☹ Simplemente avisa falso o verdadero de si el disco al que se le solicitó terminar la transmisión tenía
transmisiones activas (true) o no las tenía (false), en cuyo caso no había transmisiones que terminar.
daTransmision
Correcto
😊 En la columna para la salida y en la descripción del método dice que regresa una cadena de caracteres, que
es un mensaje que indica si pudo dar la transmisión con la hora y fecha, y si no pudo dar la transmisión con un
mensaje alusivo a este hecho.
toString
Correcto
😊 Es un método que da una descripción, en una cadena o String, del objeto con el que se le invoca. Si no se
implementa en tu clase, versiones anteriores de Java regresaban la dirección de memoria en la que está
almacenado el objeto.
muestraDisco
Correcto
😊 Regresa una cadena que contiene toda la información del disco al que se pidió este servicio.
getNOMBRE
copiaDisco
7.
Pregunta 7
0 / 1 punto
Todos los métodos sólo pueden tener un único tipo como salida
Todos los métodos sólo pueden tener un único tipo como entrada
Correcto
😊 Esta es la forma como Java indica que el método no va a dar ningún resultado, lo que no quiere decir que no
vaya a hacer algo.
☹ void únicamente se usa para indicar la salida. Todo parámetro o entrada debe ser de algún tipo definido que,
por supuesto, no puede ser void.
8.
Pregunta 8
1 / 1 punto
Quién esperas que pueda usar directamente cada atributo y método del objeto
Quién va a conocer a la clase
Correcto
😊 Cuando decides quién puede o no ver atributos y métodos es cuando puedes asignar el acceso. Los atributos,
en general, sólo deben poder manipularse desde dentro del objeto, por lo que son de acceso private, mientras
que los métodos listados en la tarjeta de responsabilidades, dado que son servicios que debe proveer el objeto,
deben ser public o de paquete (sin anotación para el acceso).
9.
Pregunta 9
Las variables y métodos declarados en una clase como static se almacenan en:
1 / 1 punto
Memoria auxiliar
Memoria de código
Correcto
😊 La Máquina Virtual de Java reparte la memoria en tres partes: En la que deposita el código compilado de las
clases que va a usar; en la que va siguiendo la ejecución de main, para lo que usa una pila; y, por último, en la
que va guardando los objetos que se van construyendo y que se llama heap (cuya traducción literal es
montículo, pero es una estructura de datos particular en programación).
1.
Pregunta 1
Lee el siguiente caso:
Tenemos una empresa de paquetería que recibe paquetes con cierto contenido y un peso determinado. Cada paquete dice
la distancia a recorrer para entregar el paquete y la persona que lo va a recibir. El costo de entregar un paquete es una
función del peso y la distancia, la misma para todos los paquetes. A cada paquete recibido se le pone un sello con la hora a
la que se recibió y un sello distinto cuando el paquete es enviado para su entrega, también con la fecha y hora, y la
persona que lo va a recibir. Las fechas y horas se toman de un reloj que tiene la empresa y que usan todos los paquetes. Al
recibir un paquete, la empresa le avisa al destinatario cuánto va a costar la entrega. Cuando el paquete es entregado, se le
pone otro sello al paquete con la fecha y hora de entrega.
Elige 3 opciones correctas. ¿Cuáles de los siguientes sustantivos pueden ser de tipo primitivo (número, booleano o
carácter)?
0 / 1 punto
paquete
Esto no debería estar seleccionado
☹ Un paquete no es un tipo primitivo pues contiene varios campos como cada uno de los tres sellos, el peso, la distancia
del destinatario y el destinatario del paquete. Toda esta información.
contenido
Esto no debería estar seleccionado
☹ El contenido puede estar descrito por una cadena (String), que no es un tipo primitivo porque se puede subdividir en
caracteres.
peso
Correcto
😊 El peso puede representarse con un número real, que es de tipo primitivo.
destinatario
Esto no debería estar seleccionado
☹ El destinatario puede representarse con una cadena, que no es un tipo primitivo.
distancia
Correcto
😊 La distancia puede representarse como un número real, que es un tipo primitivo.
sello
Esto no debería estar seleccionado
☹ El sello contiene varios datos primitivos: el número de día, número de mes y número de año, la hora y los minutos.
Aunque todos estos campos son de tipo primitivo, todos enteros, tienen que trabajar todos juntos y cada uno de ellos
representa a un atributo distinto dentro de los objetos de tipo sello.
costo
Correcto
😊 El costo puede estar representado por un número real. La orientación a objetos, sin embargo, nos dice que no
guardemos como atributo un valor que se puede calcular a partir de otros atributos de un objeto.
2.
Pregunta 2
Vas a diseñar una clase para los sellos. Elige 5 opciones que respondan la siguiente pregunta: ¿Cuáles de los atributos
primitivos estarían en los objetos de esa clase?
0 / 1 punto
año
Correcto
😊 Es un tipo primitivo que podrá tomar un valor entre 1900 y 2999 (aunque un límite más realista sería 2099).
fecha
Esto no debería estar seleccionado
☹ Claramente no es un tipo primitivo pues puede subdividirse en día, mes y año.
reloj
Esto no debería estar seleccionado
☹ Claramente no es un tipo primitivo, pues puede subdividirse en fecha y hora cuando menos.
mes
Correcto
😊 Podemos usar un entero cuyo valor sea entre 1 y 12 para indicar el número de mes, por lo que es un tipo primitivo. No
tiene sentido usar una cadena porque va a ser difícil calcular el tiempo transcurrido entre dos meses.
3.
Pregunta 3
Si quisieras que el contenido del paquete pudiese estar representado por un número, suponiendo que tienes 1,000,000 de
artículos posibles, ¿cuál de los tipos primitivos para números sería el más adecuado?
1 / 1 punto
byte
int
float
double
short
long
Correcto
😊 Los números de este tipo tienen aproximadamente 10 cifras decimales enteras; aunque únicamente requieres 7, el
siguiente tipo entero no alcanza para guardar 1,000,000 de claves.
Compilación y ejecución en DrJava
Puntos totales de 6
1. Elige 2 opciones que representen ambiente de desarrollo integrado: 1 punto
Un editor para producir documentos
Un programa que te muestra texto
El que te permite ver películas y vídeos
El programa que maneja hojas de cálculo electrónicas
El manejador de archivos de un sistema operativo
2. Selecciona la descripción de lo que es un package de Java: 1 punto
Un archivo específico que contiene varias clases
Una colección de archivos que se guardan en algún subdirectorio de Java
Una colección de archivos que se guardan en un subdirectorio con el nombre del package
La dirección de una liga (link) en la computadora
El nombre de la computadora en la que estás ejecutando DrJava
3. Elige 2 opciones que respondan a la siguiente afirmación:
Como las interfaces son contratos que anuncian servicios, tienen que tener alguno de los siguientes accesos:
1 punto
público
paquete
privado
protegido
4. Elige la opción que responda a la siguiente afirmación:
El nombre del archivo donde está declarada la interfaz con identificador NuestraInterfaz, debe ser:
1 punto
[Link]
[Link]
[Link]
[Link]
5. Elige la opción que responda a la siguiente afirmación: El comentario de escape de línea se llama así porque:
Empiezan con // y ya no se pone nada en esa línea
Ocupan una línea exactamente y todo lo que esté en esa línea es comentario
Una vez que aparece // lo que sigue en la misma línea escapa del compilador de Java
Empiezan con /* y terminan con un cambio de línea
6. Elige la opción que responda a la siguiente afirmación: La razón por la que una interfaz no tiene definidos constructores
es la siguiente:
Usa siempre el constructor por omisión que proporciona Java
Lista los atributos, pero no dice cómo se usan ni para qué sirven
Sólo lista servicios, sin decir qué clase los va a proporcionar o cuáles son los atributos que necesita
Cuando lista los servicios o métodos no da ni las entradas ni las salidas de cada método
público
Correcto
😊 Como hablamos de que una interfaz anuncia servicios, tiene que hacerlo públicamente, a todo el mundo.
paquete
Correcto
😊 Puede restringir su anuncio a los miembros de su propio paquete, pero debe anunciarlo.
privado
protegido
4.
Elige la opción que responda a la siguiente afirmación:
El nombre del archivo donde está declarada la interfaz con identificador NuestraInterfaz, debe ser:
1 / 1 punto
[Link]
[Link]
[Link]
[Link]
Correcto
😊 Como la interfaz se llama NuestraInterfaz, DrJava guarda el archivo con este nombre y le pone la terminación .java.
5. Elige la opción que responda a la siguiente afirmación:
El comentario de escape de línea se llama así porque:
0 / 1 punto
Empiezan con // y ya no se pone nada en esa línea
Ocupan una línea exactamente y todo lo que esté en esa línea es comentario
Una vez que aparece // lo que sigue en la misma línea escapa del compilador de Java
Empiezan con /* y terminan con un cambio de línea
Incorrecto
☹ Dado que su alcance es hasta el fin de línea, no tiene sentido que inicies un comentario de escape de línea y luego no
escribas el comentario.
6. Elige la opción que responda a la siguiente afirmación: La razón por la que una interfaz no tiene definidos constructores
es la siguiente:
0 / 1 punto
Usa siempre el constructor por omisión que proporciona Java
Lista los atributos, pero no dice cómo se usan ni para qué sirven
Sólo lista servicios, sin decir qué clase los va a proporcionar o cuáles son los atributos que necesita
Cuando lista los servicios o métodos no da ni las entradas ni las salidas de cada método
Incorrecto
☹ Una interfaz juega el papel de un contrato para construir una obra, por ejemplo. El contrato por sí mismo no puede
hacer la construcción y no tiene acceso al constructor por omisión de Java. Se pueden declarar objetos con el identificador
de la interfaz, pero las referencias tienen que ser a objetos de alguna clase que la implemente (cumpla con el contrato).
Incorrecto
☹ Esta línea de código no corresponde al texto por varias razones:
El acceso es público y se pidió de paquete.
Es un método de objeto, no de clase, porque no tiene el modificador static.
El valor que regresa, el nombre del método (que es un verbo imperativo) y los parámetros están bien.
9.
Pregunta 9
Queremos un encabezado de un método de objeto cuya descripción es:
Le das como entrada una cadena y da como resultado la concatenación de uno de sus atributos, que es también una
cadena, con la entrada. Es de acceso público
Elige el encabezado que codifique esta especificación.
1 public int pegados (String atributo);
1 public void pega(String entrada, String atributo);
1 public String pegados (String una, String dos);
1 public String pegados (String una);
Incorrecto
☹ Tiene dos entradas que son cadenas y debiera recibir sólo una cadena.
10.
Pregunta 10
¿Cuál de los siguientes encabezados cumple con la siguiente definición?
Método público que imprime el mensaje que le pasan como parámetro.
1 public void imprime (String mensaje);
1 public String impresión (Mensaje string);
1 public String imprimeMensaje ( );
1 public void muestraMensaje ( );
Incorrecto
☹ El método hace algo, no regresa nada. Además, no se dijo que exista un tipo (clase) llamada Mensaje.
Correcto
😊 Este encabezado sí cumple con la descripción dada, porque:
La ausencia de palabra clave para el acceso indica que tiene acceso de paquete.
Es un método de clase, lo que se indica con la palabra reservada static.
Regresa un entero, lo que se indica con int antes del nombre del método.
Recibe dos enteros como parámetros.
El nombre está bien construido de acuerdo a las convenciones de Java.
9. Queremos un encabezado de un método de objeto cuya descripción es:
Le das como entrada una cadena y da como resultado la concatenación de uno de sus atributos, que es también una
cadena, con la entrada. Es de acceso público
Elige el encabezado que
1 public int pegados (String atributo);
1 public void pega(String entrada, String atributo);
1 public String pegados (String una, String dos);
1 public String pegados (String una);
Incorrecto
☹ No regresa nada (void) y debiera regresar una cadena. Recibe una sola entrada. La cadena con la que la pega es un
atributo que el método conoce.
10. ¿Cuál de los siguientes encabezados cumple con la siguiente definición?
Método público que imprime el mensaje que le pasan como parámetro.
1 public void imprime (String mensaje);
1 public String impresión (Mensaje string);
1 public String imprimeMensaje ( );
1 public void muestraMensaje ( );
Correcto
😊 Este encabezado es el que representa mejor a la descripción dada.
package discos;
/**
* Disco digital para su uso por una companhia de
* "streamming". Se usa como ejemplo introductorio a
* algunos aspectos de Java.
*
* @author Elisa Viso.
* @version 1.0, 09/11/15.
*/
public interface ServiciosDisco {
/**
* Proporciona el tipo del disco.
*
* @return el tipo de disco entre 1 y 3
*/
public short getTIPO_DISCO();
/**
* Proporciona el nombre que tenga asociado el disco. Puede ser el
* musico si se trata de un CD o la pelicula si se trata de un DVD
* o Blue-Ray.
*
* @return nombre del musico si se trata de un CD o de la pelicula
* si se trata de un DVD o Blue-Ray.
*/
public String getNOMBRE();
/**
* Proporciona el anho en que fue grabado el disco.
*
* @return fecha de grabacion.
*/
public int getANHO();
/**
* Proporciona el numero de transmisiones permitidas.
*
* @return numero de transmisiones permitidas.
*/
public int getPermitidas();
/**
* Proporciona el numero de transmisiones activas.
*
* @return numero de transmisiones activas.
*/
public int getActivas();
/**
* Modifica el valor de transmisiones permitidas.
*
* @param permisos valor que se desea establecer
*/
public void setPermitidas(int permisos);
/**
* Modifica el valor de transmisiones activas.
*
* @param activ valor que se desea establecer
*/
public void setActivas(int activ);
/**
* Muestra de forma estatica el contenido de este disco.
*
* @return una cadena con la informacion y que contiene saltos de
* linea.
*/
public String muestraDisco(String titulo);
/**
* Otorga una transmision, contestando con la fecha y hora en que
* la est?? dando. Si no la puede dar, responde
* negativamente. Actualiza el numero de transmisiones activas.
*
* @return Un mensaje diciendo si pudo o no otorgar la transmision.
*/
public String daTransmision();
/**
* Actualiza el numero de transmisiones activas.
*/
public boolean terminaTransmision();
/**
* Duplica a este disco, construyendo otro objeto con los mismos
* valores, pero con identidad distintinta.
*
* @return un nuevo disco identico al que se le pide.
*/
public ServiciosDisco copiaDisco( );
}
Javadoc
Puntos totales de 11
1. Elige la opción que responda a la siguiente afirmación: Porque se puede escribir la documentación de una clase
integrada a la clase, se dice que Java es un lenguaje: 1 punto
autodocumentable autodocumentado
con documentación automática automáticamente documentado
2. Elige la opción que responda a la siguiente afirmación: Para que los comentarios de Javadoc se generen, una vez
escritos los comentarios en el archivo fuente, hay que ejecutar la pestaña (o la aplicación): 1 punto
Save Compile
Javadoc Run
3. Elige 2 opciones que respondan a la siguiente afirmación: Los comentarios para la documentación con Javadoc
empiezan con “/**” y terminan con: 1 punto
/* */
// **/
4. Elige la opción que responda a la siguiente afirmación: Cada una de las partes de un comentario para Javadoc tiene que
terminar con: 1 punto
Una etiqueta de Javadoc Un espacio
Un punto Un asterisco seguido de una diagonal
5. Tenemos el siguiente encabezado de un método que muestra el contenido de un atributo, precedido por la etiqueta que
se le pasa como parámetro.
1 public String muestraTipo (String etiqueta);
¿Cuál de los siguientes es el comentario de Javadoc que se ajusta a esta descripción?
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parámetro.
5 * @param String Una etiqueta se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parámetro
8 * precedida por la etiqueta.
9 */
1 /** muestraTipo */
2 /** Regresa una cadena con el valor del atributo
3 tipo, precedido por la etiqueta que se le pasa
4 como parámetro. **/
5 /** @param String Una etiqueta se le pasa como
6 entrada. **/
7 /** @return una cadena con el tipo del parámetro
8 precedida por la etiqueta. */
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parametro.
5 * @param String Una etiqueta se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parámetro
8 * precedida por la etiqueta.
9 */
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parámetro.
5 * @param String Una etiqueta se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parámetro
8 * precedida por la etiqueta.
9 */
6. Tenemos el siguiente encabezado de un método que vamos a documentar con Javadoc, que por su identificador
(nombre) nos dice qué va a hacer.
1 public int daMayor(int a, int b);
Elige la documentación correcta para los parámetros dentro de un comentario de Javadoc.
1 * @param a el primer numero a comparar.
2 * @param b el segundo numero a comparar.
7. Elige la opción que complete el enunciado: La razón de poner un asterisco al principio de cada renglón en un
comentario (documentación) de Javadoc es:
Separar renglones Estética (para que se vea mejor)
Marcar el alcance del comentario Seguir el formato indicado
8. Elige la opción que complete el enunciado: Los comentarios de Javadoc aparecen:
Entre el encabezado y lo que termina el método
Inmediatamente antes de lo que están documentando
Inmediatamente después de lo que están comentando
9. Responde falso o verdadero a la siguiente afirmación: El comentario de Javadoc debe incluir una descripción de cómo
trabaja el método.
Falso
Verdadero
10. Elige 2 opciones que completen el enunciado: En la página web que genera Javadoc, estas son las formas en que
aparece la información:
Primero los atributos y después los métodos de la clase, junto con el acceso que tienen y la descripción de qué hacen
Dividida en una vista general, que al menos tiene los encabezados de los métodos, y una segunda parte en la que
aparece, para cada método, más detalle
Aparecen solamente los métodos que tienen comentarios de Javadoc
En dos columnas: en la primera está el valor que regresa y en la segunda el encabezado del método y una breve
descripción. Del encabezado no aparece ni su acceso ni el tipo de valor que regresa
11. Elige la opción que la siguiente pregunta: Si se pone una etiqueta con arroba (@) en el mismo renglón que la
descripción que termina con un punto, ¿qué es lo que sucede?
Javadoc marca un error al tratar de generar la página de html
Javadoc reconoce la etiqueta y la aplica bien
La etiqueta con la arroba aparece como una segunda parte de la explicación
Javadoc
Puntos totales de 11
1. Elige la opción que responda a la siguiente afirmación: Porque se puede escribir la documentación de una clase
integrada a la clase, se dice que Java es un lenguaje: 1 punto
autodocumentable autodocumentado
con documentación automática automáticamente documentado
Correcto
😊 Java es un lenguaje auto documentable porque tiene los mecanismos, Javadoc, para, dados los comentarios de Javadoc
correctos, generar un documento independiente al del archivo de Java, donde se encuentra toda la documentación
necesaria para usar la clase documentada.
2. Elige la opción que responda a la siguiente afirmación: Para que los comentarios de Javadoc se generen, una vez
escritos los comentarios en el archivo fuente, hay que ejecutar la pestaña (o la aplicación): 1 punto
Save Compile
Javadoc Run
Correcto
😊 Esta aplicación es la que recorre un archivo de Java (con la extensión .java) y “recoge” los comentarios hechos para
Javadoc, los organiza y publica en una página de html.
3. Elige 2 opciones que respondan a la siguiente afirmación: Los comentarios para la documentación con Javadoc
empiezan con “/**” y terminan con: 1 punto
/* */
// **/
😊 Con esto termina la documentación de Javadoc para cada uno de los elementos comentados.
Correcto
😊 El primer asterisco en realidad no forma parte de la terminación del comentario, pues se termina con un asterisco
seguida de una diagonal.
4. Elige la opción que responda a la siguiente afirmación: Cada una de las partes de un comentario para Javadoc tiene que
terminar con: 1 punto
Una etiqueta de Javadoc Un espacio
Un punto Un asterisco seguido de una diagonal
Incorrecto
☹ Con esto se termina todo el comentario, no la parte a la que se refiere el comentario.
5. Tenemos el siguiente encabezado de un método que muestra el contenido de un atributo, precedido por la etiqueta que
se le pasa como parámetro.
1 public String muestraTipo (String etiqueta);
¿Cuál de los siguientes es el comentario de Javadoc que se ajusta a esta descripción?
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parámetro.
5 * @param String Una etiqueta se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parámetro
8 * precedida por la etiqueta.
9 */
1 /** muestraTipo */
2 /** Regresa una cadena con el valor del atributo
3 tipo, precedido por la etiqueta que se le pasa
4 como parámetro. **/
5 /** @param String Una etiqueta se le pasa como
6 entrada. **/
7 /** @return una cadena con el tipo del parámetro
8 precedida por la etiqueta. */
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parametro.
5 * @param etiqueta Una Cadena que se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parametro
8 * precedida por la etiqueta.
9 */
1 /**
2 * Regresa una cadena con el valor del atributo
3 * tipo, precedido por la etiqueta que se le pasa
4 * como parámetro.
5 * @param String Una etiqueta se le pasa como
6 * entrada.
7 * @return una cadena con el tipo del parámetro
8 * precedida por la etiqueta.
9 */
Correcto
😊 Esta documentación está bien pues tiene todos los elementos necesarios.
6. Tenemos el siguiente encabezado de un método que vamos a documentar con Javadoc, que por su identificador
(nombre) nos dice qué va a hacer.
1 public int daMayor(int a, int b);
Elige la documentación correcta para los parámetros dentro de un comentario de Javadoc.
1 * @param a el primer numero a comparar.
2 * @param b el segundo numero a comparar.
7. Elige la opción que complete el enunciado: La razón de poner un asterisco al principio de cada renglón en un
comentario (documentación) de Javadoc es:
Separar renglones Estética (para que se vea mejor)
Marcar el alcance del comentario Seguir el formato indicado
Incorrecto
☹ El formato de los comentarios de Javadoc sólo hablan del tipo de descripciones, las etiquetas y separar con puntos estas
descripciones.
☹ El alcance del comentario está marcado por su inicio (/**) y su final (*/). Los asteriscos solos no son tomados en
cuenta.
9. Responde falso o verdadero a la siguiente afirmación: El comentario de Javadoc debe incluir una descripción de cómo
trabaja el método.
Falso
Verdadero
Incorrecto
☹ A quien ve una página de html con la descripción de una clase nada más le interesa usarla y qué servicios da; no tiene
por qué informar, ni siquiera, de qué atributos tiene, a menos que sean públicos.
10. Elige 2 opciones que completen el enunciado: En la página web que genera Javadoc, estas son las formas en que
aparece la información:
Primero los atributos y después los métodos de la clase, junto con el acceso que tienen y la descripción de qué hacen
Dividida en una vista general, que al menos tiene los encabezados de los métodos, y una segunda parte en la que
aparece, para cada método, más detalle
Aparecen solamente los métodos que tienen comentarios de Javadoc
En dos columnas: en la primera está el valor que regresa y en la segunda el encabezado del método y una breve
descripción. Del encabezado no aparece ni su acceso ni el tipo de valor que regresa
Correcto
😊 En la primera parte, la más compacta, aparecen en dos columnas.
Correcto
😊 Lo que hace Javadoc es recoger los comentarios, si los hay, y mostrarlos en dos tablas consecutivas. La segunda dice
los parámetros que tiene el método, con la explicación, si es que se dio y la descripción del valor que regresa.
11. Elige la opción que la siguiente pregunta: Si se pone una etiqueta con arroba (@) en el mismo renglón que la
descripción que termina con un punto, ¿qué es lo que sucede?
Javadoc marca un error al tratar de generar la página de html
Javadoc reconoce la etiqueta y la aplica bien
La etiqueta con la arroba aparece como una segunda parte de la explicación
Incorrecto
☹ Javadoc no marca ningún error. Lo hace cuando no está bien armada alguna de las etiquetas de @param.
Incorrecto
☹ No la reconoce porque tiene que estar sola al principio de la línea o después de un asterisco.