Java/Interfaces: Difference between revisions
From charlesreid1
(Created page with "Category:Java") |
No edit summary |
||
| Line 1: | Line 1: | ||
Interfaces: https://docs.oracle.com/javase/tutorial/java/concepts/interface.html | |||
I like to describe interfaces as inheritance lite - they provide some useful guarantees about the way an interface to a class will work, without the restrictive requirements that come with inheritance. A classic example is an interface indicating something can make noise - babies and monster trucks both make noise, but there is not much more they have in common, ontologically. | |||
An interface requires a class to provide certain methods. A good example of this is for [[Tree]] data structures (see also [[Data Structures]] and [[Abstract Data Types]]). The abstract implementation of methods that any tree should implement, but that will depend on their concrete implementation, can be defined by an interface, and actually implemented in the class that implements the interface. | |||
[[Category:Java]] | [[Category:Java]] | ||
Revision as of 19:26, 10 June 2017
Interfaces: https://docs.oracle.com/javase/tutorial/java/concepts/interface.html
I like to describe interfaces as inheritance lite - they provide some useful guarantees about the way an interface to a class will work, without the restrictive requirements that come with inheritance. A classic example is an interface indicating something can make noise - babies and monster trucks both make noise, but there is not much more they have in common, ontologically.
An interface requires a class to provide certain methods. A good example of this is for Tree data structures (see also Data Structures and Abstract Data Types). The abstract implementation of methods that any tree should implement, but that will depend on their concrete implementation, can be defined by an interface, and actually implemented in the class that implements the interface.