J'essaie de faire un projet d'école dans lequel j'écris une application qui traite des livres, des collections de livres (nous appellerons cela une bibliothèque), et le client d'interface utilisateur pour ces classes. L'une des classes est une classe appelée Citable qui nécessite l'implémentation de fonctionnalités d'accès typiques qui renvoient l'ISBN, l'auteur, le titre et l'éditeur d'un livre (toutes les chaînes) ainsi que l'année de publication, le mois et le jour (tous entiers) et un nombre de pages (un nombre entier).Erreur: Book n'est pas abstrait et ne remplace pas la méthode abstraite getPageCount dans Citable. Dois-je faire un résumé de cours en raison de la classe d'interface?
La classe suivante une classe Book qui implémente l'interface Citable. La bibliothèque devra trier les livres en fonction de leur numéro ISBN. Dans Book, vous devrez fournir un support pour cela (indice: ceci nécessite la mise en place d'une interface supplémentaire (que vous n'avez pas à écrire, juste implémenter) et l'écriture d'une méthode supplémentaire (qui ne devrait avoir besoin que d'une ligne de code), et cette bibliothèque fait un simple appel pour que le tri se fasse). Il n'y a pas de statique ici (sauf pour la méthode de test), et pas d'interface utilisateur. Je vais vous montrer ce que je l'ai fait jusqu'à présent:
public interface Citable
{
public String getISBN();
public String getAuthor();
public String getTitle();
public String getPublisher();
public int getPublicationYear();
public int getMonth();
public int getDay();
public int getPageCount();
}
et l'interface du livre:
import java.util.*;
public abstract class Book implements Citable, Comparable
{
/**
* Constructor for objects of class Book
*/
public Book()
{
Collections.sort(ISBN);
}
public String toString(){
String info = ISBN + "\n" + title + "\n" + author + "\n" + publisher +
"\n" + publicationYear + "\n" + month + "\n" + day;
return info;
}
}
Dans la classe du livre, je suis à la fois la mise en œuvre de l'interface que je l'ai fait et de Java intégré Comparable. Ma question est la suivante: Dans la classe Book, j'obtenais l'erreur: Book n'est pas abstrait et ne remplace pas la méthode abstraite getPageCount dans Citable. La seule façon de stopper l'erreur était de rendre le résumé de la classe Livre. Cependant, je ne reçois aucune indication que je devrais rendre cette classe abstraite. Y a-t-il un moyen de s'en sortir?
Ne faites pas de votre résumé de la classe 'Book'. Implémentez simplement les méthodes de l'interface 'Citable'. –
Dans votre explication, vous échangez l'interface et la classe comme si elles signifiaient la même chose. Mais ils ne le font pas. S'il vous plaît prenez le temps de lire ce que vous avez écrit et d'être plus clair sur ce que vous voulez. – davidxxx