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
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());
}
}
Comments
Leave a comment