package interfaceexercise;
// Define an interface with three abstract methods.
// Any class that implements this interface has to
// implement all three methods.
public interface Relation {
public boolean isGreater( Object a, Object b);
public boolean isLess( Object a, Object b);
public boolean isEqual( Object a, Object b);
}
Code-11.5.a: Relation.java
package interfaceexercise;
public class Main {
public static void main( String[] args ) {
Relation x = new Relation();
}
}
Code-11.5.b: Main.java
package interfaceexercise;
// The Line class is a concrete class that implements the
// Relation interface.
public class Line implements Relation {
private double x1;
private double x2;
private double y1;
private double y2;
// Constructor methoe of the Line class.
public Line(double x1,double x2,double y1,double y2){
this.x1 = x1;
this.x2 = x2;
this.y1 = y1;
this.y2 = y2;
}
// A new method definition of the Line class
public double getLength(){
double length = Math.sqrt( (x2-x1)*(x2-x1) +
(y2-y1)*(y2-y1));
return length;
}
// Implement isGreater(..) method defined in the Relation interface
public boolean isGreater( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen > bLen);
}
// Implement isLess(..) method defined in the Relation interface
public boolean isLess( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen < bLen);
}
// Implement isEqual(..) method defined in the Relation interface
public boolean isEqual( Object a, Object b){
double aLen = ((Line)a).getLength();
double bLen = ((Line)b).getLength();
return (aLen == bLen);
}
}
Code-11.5.c: Line.java
package interfaceexercise;
public class Main {
public static void main( String[] args ) {
// Create two Line object instances.
Line line1 = new Line(1.0, 2.0, 1.0, 2.0);
Line line2 = new Line(2.0, 3.0, 2.0, 3.0);
boolean b1 = line1.isGreater(line1, line2);
System.out.println("line1 is greater than line2: " + b1);
boolean b2 = line1.isEqual(line1, line2);
System.out.println("line1 is equal with line2: " + b2);
// Note that the line3 is object instance of Line type.
// Because the Line type is also a type of Relation,
// the line3 variable can be declared as Relation type.
// This is a very very important concept you need to understand.
Relation line3 = new Line(1.0, 5.0, 1.0, 5.0);
boolean b3 = line3.isEqual(line1, line3);
System.out.println("line1 is equal with line3: " + b3);
System.out.println("Length of line1 is " + line1.getLength());
System.out.println("Length of line2 is " + line2.getLength());
// The following line of code will generate a compile error since line3
// is declared as Relation interface type not Line type
// and the getLength() method is not one of the methods defined
// in the Relation interface. It is commented out for now,
// System.out.println("Length of line3 is " + line3.getLength());
}
}
Code-11.5.d: Main.java
Popular Posts
-
Using DataReaders, SQL Server In this section we will work with databases in code. We will work with ADO .NET objects in code to create conn...
-
request This is the HttpServletRequest associated with the request, and lets you look at the request parameters (via getParameter), the requ...
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>Using JavaServer Pages...
-
In this section we are going to implement insert data, delete data, and update data using with JDBC database and also using of JavaScript. ...
-
When an HTTP client such as web browser sends a request to a wen server, along with the request it also sends some HTTP variables like Remot...
-
JSP pages are high level extension of servlet and it enable the developers to embed java code in html pages. JSP files are finally compiled ...
-
Syntax of JSP Declaratives are: <%! //java codes %> JSP Declaratives begins with with .We can embed any amount of java c...
-
Learning about Parameters (Continue) Look at the first line of the Command Button's KeyDown Event: Private Sub Command1_KeyDown(KeyCode ...
-
The SQL SELECT INTO statement is used to select data from a SQL database table and to insert it to a different table at the same time. The g...
-
<%@page contentType="text/html" import="java.util.*" %> <!-- http://www.roseindia.net/jsp --> ...
No comments:
Post a Comment