CIS 35A: Introduction to Java Programming

Home | Green Sheet | Lectures | Assignments | FAQ | Grades

Inheritance

Inheritance
Product application
Product, Book, and Software classes

The code for the Product class

import java.text.NumberFormat;

public class Product
{
    private String code;
    private String description;
    private double price;
    protected static int count = 0;

    public Product()
    {
        code = "";
        description = "";
        price = 0;
    }

    public void setCode(String code)
    {
        this.code = code;
    }

    public String getCode()
    {
        return code;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }
    public String getDescription()
    {
        return description;
    }
    public void setPrice(double price)
    {
        this.price = price;
    }
    public double getPrice()
    {
        return price;
    }
    public String getFormattedPrice()
    {
        NumberFormat currency =
            NumberFormat.getCurrencyInstance();
        return currency.format(price);
    }
    public String toString()
    {
        return "Code:        " + code + "\n" +
               "Description: " + description + "\n" +
               "Price:       " + this.getFormattedPrice()
               + "\n";
    }
    public static int getCount()
    {
        return count;
    }
}

The code for the Book class

public class Book extends Product
{
    private String author;

    public Book()
    {
        super();
        author = "";
        count++;
    }

    public void setAuthor(String author)
    {
        this.author = author;
    }
    public String getAuthor()
    {
        return author;
    }
    public String toString()
    {
        return super.toString() +
            "Author:      " + author + "\n";
    }
}

The code for the Software class

public class Software extends Product
{
    private String version;

    public Software()
    {
        super();
        version = "";
        count++;
    }

    public void setVersion(String version)
    {
        this.version = version;
    }
    public String getVersion()
    {
        return version;
    }
    public String toString()
    {
        return super.toString() +
            "Version:     " + version + "\n";
    }
}
Previous | Console | ProductApp class | Product, Book, and Software classes | ProductDB class | Next