I'm writing a program which contains an abstract class of 'Book', and I have two classes ('LearnBook' and 'ReadingBook') which inherit from 'Book'.
Book:
Public abstract class Book {
protected String name;
protected String author;
LearningBook:
public class LearningBook extends Book {
private String subject;
ReadingBook:
public class ReadingBook extends Book {
private int numberOfPages;
At the main class I have Book array which can include any instance of Book.
I want to add a method which checks if two Book objects are exactly the same, to prevent duplicating in the Book array. it looks like this:
public boolean sameBookCheck(Book book1, Book book2)
So my first idea was to write an isEqual() method in the Book class, which checks if the "name" and the "author" are equals. But then I need to check if it's a learning book or reading book so I could know if I need to compare the "subject" value or the "numberOfPage" value.
I have no idea how to do it and I'd appreciate your help.