![]() |
![]() |
![]() |
![]() |
![]() |
|
At the time that the RatingServer
class is compiled, on the server computer, all that the compiler needs to
know about the Movie class is that there are various methods with
various signatures, and obtaining that knowledge requires access to only a
modified version of the MovieInterface defined in
Segment 765.
The modification specifies that implementers, such as the Movie
class, are serializable, as explained in Chapter 34. The reason for
introducing serializability is that the server needs access to the actual
compiled definitions of Movie methods, at run time, rather than to
just definition signatures, because the RatingServer method,
serverRating, calls Movie methods. To enable that access,
the compiled Movie class is shipped off to the server, from the
client, at run time, in serialized form, and we say that the client and
server, at this point, are tightly coupled.
import java.io.*;
public interface MovieInterface extends Serializable {
// Setters
public abstract void setScript (int i) ;
public abstract void setActing (int i) ;
public abstract void setDirection (int i) ;
// Getters
public abstract int getScript () ;
public abstract int getActing () ;
public abstract int getDirection () ;
public abstract String getTitle () ;
public abstract String getPoster () ;
// Miscellaneous methods
public abstract int rating () ;
public abstract void changed () ;
}