Tarea1 - Clases y Métodos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Tarea 1: Clases y métodos

Tecnología Orientada a Objetos

Fecha de publicación: Viernes 2 de febrero de 2024


Fecha de entrega: Miércoles 7 de febrero de 2024
Profesor: M. en C. Froylán Eloy Hernández Castro

INSTRUCCIONES
Acceda al repositorio en GitHub https://classroom.github.com/a/Xfm2w1XV

Realice los pasos descritos en el desarrollo, compilando y probando su funcionamiento correcto en


cada uno de ellos.

Registre (commit) los cambios y actualice (push) el repositorio en cada paso.

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:

Title: Robinson Crusoe, Author: Daniel Defoe, Pages: 232

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:

public void setRefNumber(String ref)


El cuerpo de este método debe asignar el valor del parámetro al atributo refNumber. Agregue el correspondiente
método de acceso getRefNumber para poder comprobar fácilmente que el método de modificación funciona de
forma correcta.

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:

1. Dibuje un diagrama de clases UML de la clase Book

2. ¿Qué hizo particularmente bien en esta tarea?

3. ¿Qué pudo haber hecho mejor?

4. ¿Qué conocimientos nuevos adquirió con esta tarea?a

5. ¿Qué problemas tuvo durante su elaboración? ¿cómo resolvió esos problemas?

6. ¿Qué referencias o recursos adicionales consultó para esta tarea?

7. Aproximadamente, ¿cuántas horas utilizó para la elaboración de esta tarea?

Incluir una portada con:


o nombre del alumno
o número y nombre de la tarea
o fecha de entrega
o nombre de la materia
o nombre del profesor
ENTREGA

- El documento deberá ser en PDF.

- El nombre de su documento deberá tener el formato: T1_apellidos_nombres.pdf

También podría gustarte