Answer to Question #229452 in Java | JSP | JSF for DOEBOY*

Question #229452

Create an abstract class named Book. Include a String field for the book’s

title and a double field for the book’s price. Within the class, include a

constructor that requires the book title, and add two get methods—one

that returns the title and one that returns the price. Include an abstract

method named setPrice(). Create two child classes of Book: Fiction and

NonFiction. Each must include a setPrice() method that sets the price for

all Fiction Books to $24.99 and for all NonFiction Books to $37.99. Write a

constructor for each subclass, and include a call to setPrice() within each.

Write an application demonstrating that you can create both a Fiction and

a NonFiction Book, and display their fields. Save the files as Book.java,

Fiction.java, NonFiction.java, and UseBook.java


1
Expert's answer
2021-08-25T07:07:19-0400
public abstract class Book {
    private String title;
    protected double price;

    public Book(String title) {
        this.title = title;
    }

    public String getTitle() {
        return title;
    }

    public double getPrice() {
        return price;
    }

    public abstract void setPrice();
}


public class Fiction extends Book {

    public Fiction(String title) {
        super(title);
        setPrice();
    }

    @Override
    public void setPrice() {
        price = 24.99;
    }
}


public class NonFiction extends Book{
    public NonFiction(String title) {
        super(title);
        setPrice();
    }

    @Override
    public void setPrice() {
        price = 37.99;
    }
}


public class UseBook {
    public static void main(String[] args) {
        Book fictionBook = new Fiction("Fiction");
        Book nonFictionBook = new NonFiction("Non Fiction");
        System.out.println(fictionBook.getTitle()+" $"+fictionBook.getPrice());
        System.out.println(nonFictionBook.getTitle()+" $"+nonFictionBook.getPrice());
    }
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS