Starting from:
$30

$24

Lab03 - Inheritance

The goal of this week’s lab is:

    1. Practice the concept of inheritance

    2. Start using JavaDoc.



Things you must do:

        1. There are many details in this lab. Make sure you read and follow this instruction carefully and do things in order.

        2. Always remember Java is case sensitive.

    3. You must use file names, class names, package names as instructed.

        4. You must include all the functions you have written during the lab when

you are submitting your assignment.



Things you must not do:

    1. You must not change the signature of any of these methods (name, parameters, ...). Just fill in the missing code inside them.

    2. You must not create any different class.



In this lab we are going to construct a program for libraries that allows books to be checked in and out electronically. A book is represented by an ISBN, an author, and a title, all of which cannot change once the book has been created. (Please note that ISBNs are unique.)


A library book is a book together with a holder (representation of the person who has the book checked out) and a due date, both of which can change as needed. (Please note that for our purposes, all holders are unique.) For this lab, the holders are represented by their name as a String.

Part 0 - Create a project for this lab in Eclipse

    1. You are going to create a new project for this (and each of the remaining labs). You learned how to create a project in Eclipse before. Create a new Java project and call it Lab03 (with no space and no other name – notice the capital ‘L’)

    2. Create a package inside your project and call it lab03 (no space and no other name – all lowercase).

    3. Log into Blackboard and grab the four Java files from the Lab3 folder ( (on Google Drive link from blackboard assignment) and place them in the “lab03” package of the project you just created.

    4. Refresh your Eclipse to make sure you are looking at the template

code.


Part 1 – Complete Book class



The base class Book has been started for you. The equals method is left for you to

fill in. Do not make any other changes to the Book class. This is similar to what you

have done for your last assignment. The difference is that you first need to make

sure the Object we are comparing to is a Book and then ‘cast’ it to a ‘Book’. Use

‘instanceof’, if you don’t know how to use it consult the slides. Do not worry about the

errors in Library.java. They would be taken care of as soon as you get to Part 2.
Part 2 – LibraryBook class



    1. Construct a class LibraryBook derived from Book and containing the library book's holder (a String) and due date represented by a GregorianCalendar. Consult JavaDoc page for how to use Objects from this class: http://docs.oracle.com/javase/6/docs/api/java/util/GregorianCalendar.html

    2. Make sure to add the following line at the top of your class so that you

can use GregorianCalendar .

import java.util.GregorianCalendar;



    3. The LibraryBook class must include the following methods (you may add other methods as needed but not required).


        ◦ public LibraryBook(long isbn, String author, String title)

        ◦ public String getHolder()

        ◦ public GregorianCalendar getDueDate()

        ◦ public void checkin()

o When a library book is checked in, its holder and due date should be set to null.

• public void checkout(String holder, GregorianCalendar dueDate)

o When a library book is checked out, its holder and due date should be set accordingly.

    • Do not override the equals method in Book.

    • write tests in LibraryTest.java to make sure the implementation of your methods in LibraryBook is correct. There is sample book information for you under LibraryTester.java (part 2 samples). Don’t forget to check the equal method in Book.java!
Part 3 – Library class


The Library class has been started for you. Fill in the method implementations as indicated. Do not change the method signatures. Do not change the ones that have been implemented for you already. There are many functions in this class to fill in. For the lab, you are only required to finish two of them.


    • public String lookup (long isbn)

    • public boolean checkout(long isbn, String holder, int month, int day, int year)




Test your Library implementation (so far) in LibraryTest.java. Remove anything you have added to the main function and uncomment the code under “lab03 – part 2 test”. If you have implemented everything properly you should see “Testing done” after running your program. If you see any “TEST FAILED ...” you need to go back and debug your code.

Submission Guideline


You should have already created your csc220-cxxxxxxx folder in your university box account and know how to submit your labs and assignments through box (you can consult the tutorials in blackboard again if you have forgotten).

Inside your csc220-cxxxxxxx folder in box, you should only have two folders called Lab01 and Lab02 (considering you have submitted both labs/assignments).

In order to submit Lab03, log into your university box account, go into your csc220-cxxxxxxx folder and upload Lab03 folder from your Eclipse workspace. Now you should see three separate folders in your csc220-cxxxxxxx folder (in box): Lab01, Lab02, and Lab03.



Don’t forget: the lab and assignment together are due in one

submission Tuesday night @ 11:59pm!

More products