1 / 6

Java Interfaces: The Face of Reusability and Genericity

Explore the concept and usefulness of Java interfaces in software development. Learn how interfaces provide a contract for classes, enabling software reuse and genericity. Discover how interfaces are applied in WordGames and see a UML class diagram illustrating their usage.

williemccoy
Download Presentation

Java Interfaces: The Face of Reusability and Genericity

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Interfaces • Outline: • Generic interface versus Java interface • What a (Java) interface is: • Its syntax • What it says • What it does NOT say • How it is used, why it is useful • How interfaces are used in WordGames • UML class diagram for WordGames • WordGames • An application of interfaces

  2. Generic computer-science interface The “face” that one entity shows others: What services it provides What information it expects Physical examples: Computer Interfaces Stethoscope Telephone Camera Toaster Generic interfaces

  3. Why have interfaces? • A Java interface is the “face” that one class shows others • An interface contains the signature but not body for each method • Any class that implements an interface must provide the methods listed in the interface • So an interface specifies a contract public interface ClockRadio { public Time getTime(); public void setTime(Time x); public void setTime(Time x, Station s); } Example of a Java interface

  4. public interface ClockRadio { public Time getTime(); public void setTime(Time x); public void setTime(Time x, Station s); } Why have interfaces? • Java interfaces are important because: • They provide for software reuse. For example: • I provide a StringTransformable interface • You provide classes that implement StringTransformable • Our separately-written code works together seamlessly! • They provide genericity. For example: • My code declares each of your things as a StringTransformable thing • You provide various implementations of StringTransformable • e.g. Capitalizer, NameDropper, UbbyDubber, … • My code is generic – it doesn’t care what implementation of StringTransformable you supply! Interfaces can (and should) be used as types

  5. UML class diagram for WordGames All our stuff The StringTransformable interface is how our code knows how to “connect” to your code <<interface>StringTransformable --------------------------- transform(String) : String Capitalizer NameDropper xxx … xxx Questions on this important idea?

  6. public interface ClockRadio { public Time getTime(); public void setTime(Time x); public void setTime(Time x, Station s); } Java Interfaces:Summary • A Java interface is the “face” that one class shows others • An interface contains the signature but not body for each method • Any class that implements an interface must provide the methods listed in the interface • So an interface provides a contract • Java interfaces are important because they provide for: • Software reuse • Genericity From now on, “interface” means “Java interface” to us

More Related