Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fundamentals of Software Development 1Slide 1 Why have interfaces? A Java interface is the “face” that one class shows othersA Java interface is the “face”

Similar presentations


Presentation on theme: "Fundamentals of Software Development 1Slide 1 Why have interfaces? A Java interface is the “face” that one class shows othersA Java interface is the “face”"— Presentation transcript:

1 Fundamentals of Software Development 1Slide 1 Why have interfaces? A Java interface is the “face” that one class shows othersA 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 contractSo an interface specifies a contract public interface ClockRadio { public Time getTime(); public Time getTime(); public void setTime(Time x); public void setTime(Time x); public void setTime(Time x, Station s); public void setTime(Time x, Station s);}

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

3 Fundamentals of Software Development 1Slide 3 UML class diagram for WordGames CapitalizerNameDropperxxx … StringTransformable --------------------------- transform(String) : String All our stuff The StringTransformable interface is how our code knows how to “connect” to your code


Download ppt "Fundamentals of Software Development 1Slide 1 Why have interfaces? A Java interface is the “face” that one class shows othersA Java interface is the “face”"

Similar presentations


Ads by Google