1. a. Create an abstract class named Book. Include a String field for the book\'
ID: 3685050 • Letter: 1
Question
1. a. Create an abstract class named Book. Include a String field for the book's title and a double field for the books 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 at $24.99 and for all NonFiction Books at $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 NonFiction Book, and display their fields. Save the fields as Book.java, Fiction.java, NonFiction.java, and UseBook.java.
b. Write an application named BookArray in which you create an array that holds 10 Books, some Fiction and some NonFiction. Using a for loop, display details about all 10 books. Save the file as BookArray.java.
Explanation / Answer
Question 1 a.
Book.java
public abstract class Book {
public String title;
public double cost;
public Book(String title){
this.title = title;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public double getCost() {
return cost;
}
public abstract void setCost();
}
Fiction.java
public class Fiction extends Book{
public Fiction(String title){
super(title);
setCost();
}
public void setCost(){
super.cost = 24.99;
}
}
NonFiction.java
public class NonFiction extends Book{
double cost;
public NonFiction(String title){
super(title);
setCost();
}
public void setCost(){
super.cost = 37.99;
}
}
UseBook.java
public class UseBook {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Fiction f = new Fiction("Fiction Book");
System.out.println("Displaying Fiction Book Detials....");
System.out.println("Title : "+f.getTitle()+ " Cost : "+f.getCost());
NonFiction n = new NonFiction("NonFiction Book");
System.out.println("Displaying NonFiction Book Detials....");
System.out.println("Title : "+n.getTitle()+ " Cost : "+n.getCost());
}
}
Output:
Displaying Fiction Book Detials....
Title : Fiction Book Cost : 24.99
Displaying NonFiction Book Detials....
Title : NonFiction Book Cost : 37.99
Question 1 b
BookArray.java
public class BookArray {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Book b[] = new Book[10];
Fiction f1 = new Fiction("Finction Book1");
Fiction f2 = new Fiction("Finction Book2");
Fiction f3 = new Fiction("Finction Book3");
Fiction f4 = new Fiction("Finction Book4");
Fiction f5 = new Fiction("Finction Book5");
NonFiction n1 = new NonFiction("NonFinction Book1");
NonFiction n2 = new NonFiction("NonFinction Book2");
NonFiction n3 = new NonFiction("NonFinction Book3");
NonFiction n4 = new NonFiction("NonFinction Book4");
NonFiction n5 = new NonFiction("NonFinction Book5");
b[0] = f1;
b[1] = f2;
b[2] = f3;
b[3] = f4;
b[4] = f5;
b[5] = n1;
b[6] = n2;
b[7] = n3;
b[8] = n4;
b[9] = n5;
for(int i=0 ;i<b.length; i++){
Book a = b[i];
System.out.println("Title : "+a.getTitle()+ " Cost : "+a.getCost());
}
}
}
public class BookArray {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Book b[] = new Book[10];
Fiction f1 = new Fiction("Finction Book1");
Fiction f2 = new Fiction("Finction Book2");
Fiction f3 = new Fiction("Finction Book3");
Fiction f4 = new Fiction("Finction Book4");
Fiction f5 = new Fiction("Finction Book5");
NonFiction n1 = new NonFiction("NonFinction Book1");
NonFiction n2 = new NonFiction("NonFinction Book2");
NonFiction n3 = new NonFiction("NonFinction Book3");
NonFiction n4 = new NonFiction("NonFinction Book4");
NonFiction n5 = new NonFiction("NonFinction Book5");
b[0] = f1;
b[1] = f2;
b[2] = f3;
b[3] = f4;
b[4] = f5;
b[5] = n1;
b[6] = n2;
b[7] = n3;
b[8] = n4;
b[9] = n5;
for(int i=0 ;i<b.length; i++){
Book a = b[i];
System.out.println("Title : "+a.getTitle()+ " Cost : "+a.getCost());
}
}
}
Output
Title : Finction Book1 Cost : 24.99
Title : Finction Book2 Cost : 24.99
Title : Finction Book3 Cost : 24.99
Title : Finction Book4 Cost : 24.99
Title : Finction Book5 Cost : 24.99
Title : NonFinction Book1 Cost : 37.99
Title : NonFinction Book2 Cost : 37.99
Title : NonFinction Book3 Cost : 37.99
Title : NonFinction Book4 Cost : 37.99
Title : NonFinction Book5 Cost : 37.99
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.