Tarea1 - Clases y Métodos
Tarea1 - Clases y Métodos
Tarea1 - Clases y Métodos
INSTRUCCIONES
Acceda al repositorio en GitHub https://classroom.github.com/a/Xfm2w1XV
DESARROLLO
1. Cree una clase, Book, que represente a un libro y que contenga dos atributos, author y title que representan el
nombre del autor y el título del libro respectivamente. Ambos atributos deben ser de tipo cadena de caracteres
(String).
2. Defina un constructor para inicializar el nombre del autor y el título del libro mediante parámetros pasados al
constructor.
3. Agregue dos métodos, printAuthor y printTitle, a la clase Book. Estos métodos deben imprimir los atributos
author y title, respectivamente, en la ventana de terminal.
4. Agregue un atributo, pages, a la clase Book para almacenar el número de páginas del libro. Deberá ser de tipo
int, y su valor inicial debe pasarse al único constructor existente, junto con las cadenas de caracteres
correspondientes a author y title. Incluya un método de acceso getPages para este atributo.
5. Agregue un método, printDetails, a la clase Book. Este método debe imprimir los detalles relativos al autor, el
título y el número de páginas en la ventana de terminal. El formateo de los detalles queda a su elección. Por
ejemplo, podrían mostrarse los tres elementos en una misma línea, o cada uno de ellos en una línea separada.
También puede incluir, si lo desea, un texto explicativo, para que el usuario identifique fácilmente cuál es el
autor y cuál es el título, como por ejemplo:
6. Añada un atributo adicional, refNumber, a la clase Book. Este atributo podría almacenar, por ejemplo, un número
de referencia para una biblioteca. Tiene que ser de tipo String y hay que inicializarlo con la cadena de caracteres
de longitud cero ("") en el constructor, ya que su valor inicial no se pasa mediante ningún parámetro del
constructor. En lugar de ello, defina un método de modificación para ese atributo con la siguiente cabecera:
7. Modifique su método printDetails para que se imprima también el número de referencia. No obstante, el método
debe imprimir el número de referencia solo si ha sido inicializado, es decir, si la cadena refNumber tiene una
longitud distinta de cero. Si no ha sido inicializado, entonces imprima en su lugar la cadena "ZZZ". Sugerencia:
utilice el método length para obtener la longitud de la cadena de caracteres refNumber.
8. Modifique el método setRefNumber para que inicialice el atributo refNumber solo si el parámetro es una cadena
de al menos tres caracteres. Si tiene menos de tres caracteres, entonces imprima un mensaje de error y deje
el atributo sin modificar.
9. Agregue un atributo entero adicional, borrowed, a la clase Book. Este atributo llevará la cuenta del número de
veces que se ha tomado prestado un libro. Añada un método de modificación, borrow, a la clase. Este método
debe incrementar el atributo en una unidad cada vez que sea invocado. Incluya un método de acceso,
getBorrowed, que devuelva como resultado el valor de este nuevo atributo. Modifique printDetails para incluir el
valor de este atributo, junto con un texto explicativo.
10. Agregue un atributo de tipo boolean adicional, courseText, a la clase Book. Este campo indica si el libro se está
utilizando como libro de texto de un curso o no. El campo debe inicializarse mediante un parámetro del
constructor y ese campo es inmutable. Proporcione un método selector para el mismo denominado
isCourseText.
REPORTE
Elabore un reporte en digital con base a las siguientes preguntas, incluya el número y la pregunta en su reporte: