public abstract class PaperItem {
private String name;
private Date createdDate;
public PaperItem(String name) {
this.name = name;
this.createdDate = new Date();
}
public String getName() {
return name;
}
public Date getCreatedDate() {
return createdDate;
}
// ...
}
public class Notebook extends PaperItem {
private int numberOfPages;
public Notebook(String name, int numberOfPages) {
super(name);
this.numberOfPages = numberOfPages;
}
public int getNumberOfPages() {
return numberOfPages;
}
// ...
}
import java.util.ArrayList;
import java.util.List;
public class PaperItemManager {
private List<PaperItem> items;
public PaperItemManager() {
items = new ArrayList<>();
}
public void addItem(PaperItem item) {
items.add(item);
}
public void removeItem(PaperItem item) {
items.remove(item);
}
public List<PaperItem> searchItems(String query) {
List<PaperItem> searchResults = new ArrayList<>();
for (PaperItem item : items) {
if (item.getName().contains(query)) {
searchResults.add(item);
}
}
return searchResults;
}
// ...
}
public class Main {
public static void main(String[] args) {
PaperItemManager manager = new PaperItemManager();
manager.addItem(notebook1);
manager.addItem(paper1);
for (PaperItem item : searchResults) {
}
manager.removeItem(notebook1);
}
}