Note that there are some explanatory texts on larger screens.

plurals
  1. POJava Inheritance and Understanding Interface Classes
    text
    copied!<p>I am working on a short java assignment that I have been set.</p> <p>The question is as follows:</p> <blockquote> <p>Design and write classes to model different types of Publications in a Library. Consider carefully the different types of publications, e.g. Books and Magazines. Put all attributes and methods which are common to all types of Publications in a super-class, and then extend this super-class appropriately to create a set of sub-classes. </p> </blockquote> <p>Make sure that you include appropriate constructor, getter, setter and customised methods in your classes. Use method overloading and overriding where appropriate.</p> <p>Make maximum use of inheritance in your design and class code.</p> <p>Implement the following Interface Class in your design and coding:</p> <pre><code>+ getPublisher() : String + getPublicationTitle() : String + getPrice : float + setPublication(publisherIn: String, titleIn:String, priceIn:float) : void </code></pre> <p><strong>So I have answered it as best I can, please could anybody read it and check that I am on the right track and understand what I am meant to be doing, it seems fat to simple to be correct? Oh and javadocs are not finished yet [=</strong></p> <pre><code>public interface PublicationInterface { /** * Returns the book publisher name (as a String) */ public String getPublisher(); /** * Returns the book publication title (as a String) */ public String getPublicationTitle(); /** * Returns the book price (as a float) */ public float getPrice(); /** * Sets the book publication details. * * @param publisherIn The Book Publisher (as a String) * @param titleIn The Book Title (as a String) * @param priceIn The Book Price (as a float) */ public void setPublication(String publisherIn, String publicationTitleIn, float priceIn); } abstract public class Publications implements PublicationInterface { // Attributes protected String publisher; protected String publicationTitle; protected float price; public Publications(String publisherIn, String publicationTitleIn, float priceIn) { publisher = publisherIn; publicationTitle = publicationTitleIn; price = priceIn; } public String getPublisher() { return (publisher); } public String getPublicationTitle() { return (publicationTitle); } public float getPrice() { return (price); } public void setPublication(String publisherIn, String publicationTitleIn, float priceIn) { publisher = publisherIn; publicationTitle = publicationTitleIn; price = priceIn; } } public class Magazine extends Publications { String editor; String date; public Magazine(String publisherIn , String publicationTitleIn, float priceIn, String editorIn, String dateIn) { super (publisherIn , publicationTitleIn, priceIn); editor = editorIn; date = dateIn; } public void setPublication(String publisherIn, String publicationTitleIn, float priceIn) { publisherIn = publisher; publicationTitleIn = publicationTitle; priceIn = price; } public String getEditor() { System.out.println("The editor of this magazine is " + editor); return (editor); } public String getDate() { System.out.println("The publication date of this magazine is " + date); return (date); } public String getPublisher() { System.out.println("The publisher of this magazine is " + publisher); return (publisher); } public String getPublicationTitle() { System.out.println("The publication title of this magazine is " + publicationTitle); return (publicationTitle); } public float getPrice() { System.out.println("The price of this magazine is £" + price); return (price); } } public class ReferenceMaterial extends Publications { String genre; String subject; public ReferenceMaterial(String publisherIn , String publicationTitleIn, float priceIn, String genreIn, String subjectIn) { super (publisherIn , publicationTitleIn, priceIn); genre = genreIn; subject = subjectIn; } public String getGenre() { System.out.println("The genre of this material is " + genre); return (genre); } public String getSubject() { System.out.println("The subject of this material is " + subject); return (subject); } public String getPublisher() { System.out.println("The publisher of this material is " + publisher); return (publisher); } public String getPublicationTitle() { System.out.println("The publication title of this material is " + publicationTitle); return (publicationTitle); } public float getPrice() { System.out.println("The price of this material is £" + price); return (price); } } public class Book extends Publications { int pageNumber; String author; public Book(String publisherIn , String publicationTitleIn, float priceIn, int pageNumberIn, String authorIn) { super (publisherIn , publicationTitleIn, priceIn); pageNumber = pageNumberIn; author = authorIn; } public int getPageNumber() { System.out.println("The number of pages in this book are " + pageNumber); return (pageNumber); } public String getAuthor() { System.out.println("The author of this book is " + author); return (author); } public String getPublisher() { System.out.println("The publisher of this book is " + publisher); return (publisher); } public String getPublicationTitle() { System.out.println("The publication title of this book is " + publicationTitle); return (publicationTitle); } public float getPrice() { System.out.println("The price of this book is £" + price); return (price); } } public class TestLibrary { public static void main() { Magazine magazine1 = new Magazine ("SanYonic Publishing", "Ayup Magazine", 99, "Yeshumenku Suni", "12/09/2011"); System.out.println(); magazine1.getEditor(); magazine1.getDate(); magazine1.getPublisher(); magazine1.getPublicationTitle(); magazine1.getPrice(); System.out.println(); ReferenceMaterial referenceMaterial1 = new ReferenceMaterial ("Dorling kindesy", "killer Sharks In The Solent", 200, "Nature", "Sharks"); referenceMaterial1.getGenre(); referenceMaterial1.getSubject(); referenceMaterial1.getPublisher(); referenceMaterial1.getPublicationTitle(); referenceMaterial1.getPrice(); System.out.println(); Book Book1 = new Book ("Hodder &amp; Soughton", "One Day", 75, 1105, "David Nicholls"); Book1.getPageNumber(); Book1.getAuthor(); Book1.getPublisher(); Book1.getPublicationTitle(); Book1.getPrice(); System.out.println(); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload