The best replacement for interfaces is abstract classes.


The best alternatives to interfaces are rated as following:
★★★★★  abstract classes
★★★  classes
★★  inheritance
★  abstract classes c#
★  abstract class
★  classes java
★  inheritance java
★  abstract classes php
★  abstract classes c
★  delegates
★  multiple inheritance
★  classes c#
★  duck typing
  generics
  mixers
  web user interfaces
  parallel interfaces

Your alternative for interfaces is not listed? Suggest!
Speaking about interfaces, one probably shouldn't forget about generics.

Other search terms related to interfaces and their ratings are:

★★★★★ generics
★★★★ generics java
events c#
You have in mind a companion for interfaces and it is not yet here? Propose!



Google Trends

Scale is based on the average worldwide traffic of interfaces in all years. Click on graph for more.
interfaces
abstract classes
classes