1 / 11

Interfaces

Chapter 9. Interfaces. Creating Interfaces. An interface is a contract. Every class that implements the interface must provide the interface’s defined methods. Each class implements the methods however it sees fit. A class can implement multiple interfaces. Declaring the Interface.

Download Presentation

Interfaces

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. Chapter 9 Interfaces

  2. Creating Interfaces • An interface is a contract. • Every class that implements the interface must provide the interface’s defined methods. • Each class implements the methods however it sees fit. • A class can implement multiple interfaces.

  3. Declaring the Interface • Similar to a class declaration but uses the interface keyword • The extends keyword can be used to extend interfaces.

  4. Interface Restrictions • Interfaces: • Cannot have member fields • Can define constants • Cannot have methods with implementation; all methods in an interface are implicitly abstract • Cannot be instantiated • Cannot define constructors

  5. Implementing Multiple Interfaces: The Debuggable Interface • Debugging is an important step in the programming cycle. • One way to debug a program is to display information about objects and variables to ensure their validity.

  6. Debugging an Interface • In the ball program, seeing information about each of the objects as the program runs is helpful. • Ball and Wall classes do not derive from the same base class (Java does not support multiple inheritance). • Ball and Wall can implement common interfaces.

  7. The Debuggable Interface • The Debuggable interface defines two public methods: • displayStatus(String identifier); • displayError(String error); • The interface does not define how to implement these methods. • Implementation details are left to the classes.

  8. Interfaces vs. Abstract Classes • Use an abstract base class if: • You are trying to create an is a relationship: • A tree is a plant • A fly is an insect • You do not want to instantiate the base class.

  9. Interfaces vs. Abstract Classes • Use an interface if: • You are not trying to create an is a relationship. • You are stating that your class has these capabilities. • A Ball and a Wallhave the capability of being colorable and debuggable. • You need a way to handle multiple inheritance.

  10. Extending Interfaces • Interfaces can be extended just like classes. • Allows the programmer to provide new functionality without rewriting existing code • Use the keyword extends: interface DebugLogging extends Debuggable

  11. Polymorphic Interfaces • Interfaces can be treated polymorphically, as a type. • A method that accepts an object which implements the Debuggable interface will also accept any object which implements any interface derived from the Debuggable interface.

More Related