Implementing Sum Interfaces Now that we completely understand the difference bet
ID: 3763543 • Letter: I
Question
Implementing Sum Interfaces Now that we completely understand the difference between overloading and overriding we are going to explore interfaces. Create an interface called InterSum.java. When creating an interface we do not use the keyword class but interface instead. Inside of InterSum.java copy all of the methods from OverloadingSum into InterSum.java. Having methods with a body will cause an error. Proceed to remove the body of each method. It should look something like: public int sum(int x, int y); Now that we have successfully created our interface we will need to implement it. Create a file called ImplementingSum.java. This file will be a class that implements the InterSum interface. To make the ImplemtingSum.java file work will need to add a body to each of those methods we just removed earlier. Classes are not restricted with implementing just one interface. Implement the Multiply.java interface below in ImplementingSum.java. You will need to fill in the methods to produce the multiplication of the parameters. Now that we have two interfaces implemented we should test them. Create a driver file called GettingSumImplements.java. Create an instance of ImplementingSum.java. Then call five sum methods with different parameter types and five multiply methods with different parameter types. This should let you get a feel for the class.
Explanation / Answer
Answer:
Program code to copy:
//interface InterSum.java
public interface InterSum
{
// short, short x y
public short sum(short x, short y);
// int
public int sum(int x, int y);
// int with short
public int sum(short x, int y);
// int
public int sum(int x, int y, int z);
// int with short
public int sum(short x, int y, int z);
// float with float, int, short by 2
public float sum(short x, float y);
// float by 3
public float sum(float x, float y, float z);
// float with int
public float sum(int x, float y, float z);
public float sum(float x, int y, int z);
// float with short
public float sum(short x, float y, float z);
public float sum(float x, short y, short z);
// float with short and int
public float sum(short x, int y, float z);
// doubles with double, float, int, shorts by 2
public double sum(short x, double y);
public double sum(double x, double y, double z);
// double with float
public double sum(float x, double y, double z);
public double sum(float x, float y, double z);
// double with ints
public double sum(int x, double y, double z);
public double sum(double x, int y, int z);
// double with shorts
public double sum(short x, double y, double z);
public double sum(short x, short y, double z);
// double, float, with int or short
public double sum(double x, float y, int z);
public double sum(short x, float y, double z);
}
//interface Multipy.java
public interface Multiply
{
// short, short x2 x3
public short multiply(short x, short y);
public short multiply(short x, short y, short z);
// int
public int multiply(int x, int y);
// int with short
public int multiply(short x, int y);
public int multiply(int x, short y);
// int
public int multiply(int x, int y, int z);
// int with short
public int multiply(short x, int y, int z);
public int multiply(int x, short y, int z);
public int multiply(int x, int y, short z);
public int multiply(short x, short y, int z);
public int multiply(short x, int y, short z);
public int multiply(int x, short y, short z);
// float with float, int, short by 2
public float multiply(short x, float y);
public float multiply(float x, short y);
public float multiply(float x, int y);
public float multiply(int x, float y);
public float multiply(float x, float y);
// float by 3
public float multiply(float x, float y, float z);
// float with int
public float multiply(int x, float y, float z);
public float multiply(float x, int y, float z);
public float multiply(float x, float y, int z);
public float multiply(int x, int y, float z);
public float multiply(int x, float y, int z);
public float multiply(float x, int y, int z);
// float with short
public float multiply(short x, float y, float z);
public float multiply(float x, short y, float z);
public float multiply(float x, float y, short z);
public float multiply(short x, short y, float z);
public float multiply(short x, float y, short z);
public float multiply(float x, short y, short z);
// float with short and int
public float multiply(short x, int y, float z);
public float multiply(int x, short y, float z);
public float multiply(short x, float y, int z);
public float multiply(int x, float y, short z);
public float multiply(float x, int y, short z);
public float multiply(float x, short y, int z);
// doubles with double, float, int, shorts by 2
public double multiply(short x, double y);
public double multiply(double x, short y);
public double multiply(int x, double y);
public double multiply(double x, int y);
public double multiply(float x, double y);
public double multiply(double y, float x);
public double multiply(double x, double y);
public double multiply(double x, double y, double z);
// double with float
public double multiply(float x, double y, double z);
public double multiply(double x, float y, double z);
public double multiply(double x, double y, float z);
public double multiply(double x, float y, float z);
public double multiply(float x, double y, float z);
public double multiply(float x, float y, double z);
// double with ints
public double multiply(int x, double y, double z);
public double multiply(double x, int y, double z);
public double multiply(double x, double y, int z);
public double multiply(int x, int y, double z);
public double multiply(int x, double y, int z);
public double multiply(double x, int y, int z);
// double with shorts
public double multiply(short x, double y, double z);
public double multiply(double x, short y, double z);
public double multiply(double x, double y, short z);
public double multiply(double x, short y, short z);
public double multiply(short x, double y, short z);
public double multiply(short x, short y, double z);
// double, float, with int or short
public double multiply(double x, float y, int z);
public double multiply(double x, float y, short z);
public double multiply(float x, double y, int z);
public double multiply(float x, double y, short z);
public double multiply(int x, float y, double z);
public double multiply(short x, float y, double z);
}
//ImplementingSum class that implements all the methods of
//InterSum and Multiply interfaces
public class ImplementingSum implements InterSum, Multiply
{
public short sum(short x, short y)
{
return (short) (x + y);
}
public int sum(int x, int y)
{
return (x + y);
}
public int sum(short x, int y)
{
return (x + y);
}
public int sum(int x, int y, int z)
{
return (x + y + z);
}
public int sum(short x, int y, int z)
{
return (x + y + z);
}
public float sum(short x, float y)
{
return (float) (x + y);
}
public float sum(float x, float y, float z)
{
return (x + y + z);
}
public float sum(int x, float y, float z)
{
return (x + y + z);
}
public float sum(float x, int y, int z)
{
return (x + y + z);
}
public float sum(short x, float y, float z)
{
return (x + y + z);
}
public float sum(float x, short y, short z)
{
return (x + y + z);
}
public float sum(short x, int y, float z)
{
return (x + y + z);
}
public double sum(short x, double y)
{
return (x + y);
}
public double sum(double x, double y, double z)
{
return (x + y + z);
}
public double sum(float x, double y, double z)
{
return (x + y + z);
}
public double sum(float x, float y, double z)
{
return (x + y + z);
}
public double sum(int x, double y, double z)
{
return (x + y + z);
}
public double sum(double x, int y, int z)
{
return (x + y + z);
}
public double sum(short x, double y, double z)
{
return (x + y + z);
}
public double sum(short x, short y, double z)
{
return (x + y + z);
}
public double sum(double x, float y, int z)
{
return (x + y + z);
}
public double sum(short x, float y, double z)
{
return (x + y + z);
}
public short multiply(short x, short y)
{
return (short) (x * y);
}
public short multiply(short x, short y, short z)
{
return (short) (x * y * z);
}
public int multiply(int x, int y)
{
return (x * y);
}
public int multiply(short x, int y)
{
return (x * y);
}
public int multiply(int x, short y)
{
return (x * y);
}
public int multiply(int x, int y, int z)
{
return (x * y * z);
}
public int multiply(short x, int y, int z)
{
return (x * y * z);
}
public int multiply(int x, short y, int z)
{
return (x * y * z);
}
public int multiply(int x, int y, short z)
{
return (x * y * z);
}
public int multiply(short x, short y, int z)
{
return (x * y * z);
}
public int multiply(short x, int y, short z)
{
return (x * y * z);
}
public int multiply(int x, short y, short z)
{
return (x * y * z);
}
public float multiply(short x, float y)
{
return (x * y);
}
public float multiply(float x, short y)
{
return (x * y);
}
public float multiply(float x, int y)
{
return (x * y);
}
public float multiply(int x, float y)
{
return (x * y);
}
public float multiply(float x, float y)
{
return (x * y);
}
public float multiply(float x, float y, float z)
{
return (x * y * z);
}
public float multiply(int x, float y, float z)
{
return (x * y * z);
}
public float multiply(float x, int y, float z)
{
return (x * y * z);
}
public float multiply(float x, float y, int z)
{
return (x * y * z);
}
public float multiply(int x, int y, float z)
{
return (x * y * z);
}
public float multiply(int x, float y, int z)
{
return (x * y * z);
}
public float multiply(float x, int y, int z)
{
return (x * y * z);
}
public float multiply(short x, float y, float z)
{
return (x * y * z);
}
public float multiply(float x, short y, float z)
{
return (x * y * z);
}
public float multiply(float x, float y, short z)
{
return (x * y * z);
}
public float multiply(short x, short y, float z)
{
return (x * y * z);
}
public float multiply(short x, float y, short z)
{
return (x * y * z);
}
public float multiply(float x, short y, short z)
{
return (x * y * z);
}
public float multiply(short x, int y, float z)
{
return (x * y * z);
}
public float multiply(int x, short y, float z)
{
return (x * y * z);
}
public float multiply(short x, float y, int z)
{
return (x * y * z);
}
public float multiply(int x, float y, short z)
{
return (x * y * z);
}
public float multiply(float x, int y, short z)
{
return (x * y * z);
}
public float multiply(float x, short y, int z)
{
return (x * y * z);
}
public double multiply(short x, double y)
{
return (x * y);
}
public double multiply(double x, short y)
{
return (x * y);
}
public double multiply(int x, double y)
{
return (x * y);
}
public double multiply(double x, int y)
{
return (x * y);
}
public double multiply(float x, double y)
{
return (x * y);
}
public double multiply(double y, float x)
{
return (x * y);
}
public double multiply(double x, double y)
{
return (x * y);
}
public double multiply(double x, double y, double z)
{
return (x * y * z);
}
public double multiply(float x, double y, double z)
{
return (x * y * z);
}
public double multiply(double x, float y, double z)
{
return (x * y * z);
}
public double multiply(double x, double y, float z)
{
return (x * y * z);
}
public double multiply(double x, float y, float z)
{
return (x * y * z);
}
public double multiply(float x, double y, float z)
{
return (x * y * z);
}
public double multiply(float x, float y, double z)
{
return (x * y * z);
}
public double multiply(int x, double y, double z)
{
return (x * y * z);
}
public double multiply(double x, int y, double z)
{
return (x * y * z);
}
public double multiply(double x, double y, int z)
{
return (x * y * z);
}
public double multiply(int x, int y, double z)
{
return (x * y * z);
}
public double multiply(int x, double y, int z)
{
return (x * y * z);
}
public double multiply(double x, int y, int z)
{
return (x * y * z);
}
public double multiply(short x, double y, double z)
{
return (x * y * z);
}
public double multiply(double x, short y, double z)
{
return (x * y * z);
}
public double multiply(double x, double y, short z)
{
return (x * y * z);
}
public double multiply(double x, short y, short z)
{
return (x * y * z);
}
public double multiply(short x, double y, short z)
{
return (x * y * z);
}
public double multiply(short x, short y, double z)
{
return (x * y * z);
}
public double multiply(double x, float y, int z)
{
return (x * y * z);
}
public double multiply(double x, float y, short z)
{
return (x * y * z);
}
public double multiply(float x, double y, int z)
{
return (x * y * z);
}
public double multiply(float x, double y, short z)
{
return (x * y * z);
}
public double multiply(int x, float y, double z)
{
return (x * y * z);
}
public double multiply(short x, float y, double z)
{
return (x * y * z);
}
}
//Driver class that contains the main method in which an object to
//the ImplementingSum class and calls five InterSum and five Multiply
//overload methods and displays their respective results
public class GettingSumImplements
{
// main method
public static void main(String[] args)
{
// Create an object to the ImplementingSum class
ImplementingSum impSumMul = new ImplementingSum();
// Declare the required variables
short a = 3;
int b = 2;
float c = 3.5f;
double d = 4.50;
// call the sum methods of InterSum interface by overloading the
// methods with different values and display the values
System.out.println("Test cases for the InterSum interface methods: ");
System.out.println("Sum of short and short values is: " + impSumMul.sum(a, a));
System.out.println("Sum of short and int values is: " + impSumMul.sum(a, b));
System.out.println("Sum of short, int and float values is: " + impSumMul.sum(a, b, c));
System.out.println("Sum of short, float and double values is: " + impSumMul.sum(a, c, d));
System.out.println("Sum of float, double and float values is: " + impSumMul.sum(c, d, c));
System.out.println();
// call the multiply methods of multiply interface by overloading the
// methods with different values and display the values
System.out.println("Test cases for the Multiply interface methods: ");
System.out.println("Multiple value of int and short is: " + impSumMul.multiply(b, a));
System.out.println("Multiple value of int, short and int is: "
+ impSumMul.multiply(b, a, b));
System.out.println("Multiple value of short and float is: " + impSumMul.multiply(a, c));
System.out.println("Multiple value of int, float and double is: "
+ impSumMul.multiply(b, c, d));
System.out.println("Multiple value of float, double and double is: "
+ impSumMul.multiply(c, d, d));
}
}
Sample output:
Test cases for the InterSum interface methods:
Sum of short and short values is: 6
Sum of short and int values is: 5
Sum of short, int and float values is: 8.5
Sum of short, float and double values is: 11.0
Sum of float, double and float values is: 11.5
Test cases for the Multiply interface methods:
Multiple value of int and short is: 6
Multiple value of int, short and int is: 12
Multiple value of short and float is: 10.5
Multiple value of int, float and double is: 31.5
Multiple value of float, double and double is: 70.875