Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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