You are on page 1of 2

import java.lang.

Math;

interface Operations {
double operationAdunare(double a, double b);

double operationScadere(double a, double b);

double operationInnmultire(double a, double b);

double operationImpartire(double a, double b);

double operationRadical(double a);

double operationPatrat(double a);


}

interface OperationAdunare {
double operationAdunareInterface(double a, double b);
}

interface OperationScadere {
double operationScadereInterface(double a, double b);
}

interface OperationInmultire {
double operationInmultireInterface(double a, double b);
}

interface OperationImpartire {
double operationImpartireInterface(double a, double b);
}

public class Laborator5 {


public static void main(String[] args) {

ClassForOperations ob2 = new ClassForOperations();


ClassForInterfaces ob3 = new ClassForInterfaces();
OperationAdunare adunare = (a, b) -> a + b;
OperationScadere scadere = (a, b) -> a - b;
OperationInmultire inmultire = (a, b) -> a * b;
OperationImpartire impartire = (a, b) -> a / b;

System.out.println(ob2.operationAdunare(1, 2));
System.out.println(ob2.operationScadere(1, 5));
System.out.println(ob2.operationInnmultire(3, 6));
System.out.println(ob2.operationImpartire(8, 2));
System.out.println(ob2.operationRadical(9));
System.out.println(ob2.operationPatrat(9));

System.out.print("\n");
System.out.println(ob3.operationAdunareInterface(10, 11, adunare));
System.out.println(ob3.operationScadereInterface(20, 15, scadere));
System.out.println(ob3.operationInmultireInterface(10, 11, inmultire));
System.out.println(ob3.operationImpartireInterface(100, 10, impartire));

}
}

class ClassForOperations implements Operations, OperationAdunare {


public double operationAdunare(double a, double b) {
return (a + b);
}

public double operationScadere(double a, double b) {


return (a - b);
}

public double operationInnmultire(double a, double b) {


return (a * b);
}

public double operationImpartire(double a, double b) {


return (a / b);
}

public double operationRadical(double a) {


return Math.sqrt(a);
}

public double operationPatrat(double a) {


return (a * a);
}
}

class ClassForInterfaces implements OperationAdunare, OperationScadere,


OperationInmultire, OperationImpartire {
public double operationAdunareInterface(double a, double b, OperationAdunare
adunare) {
return adunare.operationAdunareInterface(a, b);
}

public double operationScadereInterface(double a, double b, OperationScadere


scadere) {
return scadere.operationScadereInterface(a, b);
}

public double operationInmultireInterface(double a, double b,


OperationInmultire inmultire) {
return inmultire.operationInmultireInterface(a, b);
}

public double operationImpartireInterface(double a, double b,


OperationImpartire impartire) {
return impartire.operationImpartireInterface(a, b);
}
}

You might also like