Boek Klasse

Vervolledig de onderstaande Book klasse. Oefening gebaseerd op oefeningen 2.84 tem 2.92 van Programmeren in Java met BlueJ - Barnes en Kolling.

public class Book {
    private String author;
    private String title;
    
    public Book(String bookAuthor, String bookTitle) {
        author = bookAuthor;
        title = bookTitle;
    }
}

Oefenining 2.84

Voeg twee methodes, printAuthor en printTitle, toe aan de klasse Book. Deze methodes moeten de inhoud van de velden author en title afdrukken naar het dialoogvenster.

Oefening 2.85

Voeg nog een veld, pages, toe aan de klasse Book waarin het aantal pagina’s van het boek wordt opgeslagen. Dit veld moet van het type int zijn en de initiele waarde moet via de constructor worden meegegeven. Voeg ook een accessor methode getPages toe voor dit veld.

Oefening 2.87

Voeg een methode printDetails toe aan de klasse. Deze moet de informatie van het boek object als volgt weergeven in de console:

Titel: [title], Auteur: [author], Aantal pagina's: [pages]

De vierkante haken geven aan dat de waarde van de variabele moet worden weergegeven. Dus bijvoorbeeld:

Titel: Robinson Crusoe, Auteur: Daniel Defoe, Aantal pagina's: 232

Oefening 2.88

Voeg nog een veld, refNumber, toe aan de klasse Book. Dit veld kan bijvoorbeeld een referentienummer voor een bibliotheek bevatten. Het moet van het type String zijn en in de constructor geinnitialiseerd worden als lege String als er geen initiële waarde als parameter aan de constructor wordt doorgegeven. Definieer ook een mutator methode setRefNumber(String ref). De body van deze methode moet de waarde van de parameter toekennen aan het veld refNumber. Voor ook een corresponderende accessor methode toe.

Oefening 2.89

Pas de methode printDetails aan zodat deze ook het referentienummer afdrukt. De methode mag wel alleen het referentienummer afdrukken als het ingesteld is - dat wil zeggen als de String refNumber een lengte heeft die verschillend is van nul. Output printDetails bij boek zonder referentienummer:

Titel: [title], Auteur: [author], Aantal pagina's: [pages], Referentienummer: ZZZ

Output printDetails bij boek met referentienummer:

Titel: [title], Auteur: [author], Aantal pagina's: [pages], Referentienummer: [refNumber]

Oefening 2.90

Pas de mutator en de constructor aan zodat deze het veld RefNumber alleen instelt als de parameter een String is van ten minste drie tekens lang. Als de String korter is wordt de volgende foutmelding weergegeven:

Ongeldig referentienummer