From charlesreid1

No edit summary
No edit summary
Line 10: Line 10:


[[Category:Java]]
[[Category:Java]]
{{CSFlag}}

Revision as of 01:44, 11 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.




See also: