Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming

Describe the difference between Interface-oriented, Object-oriented and Aspect-oriented programming.

Interface-oriented programming - It is the extension of OOP where all dependencies uses abstract interfaces where implementations are separated.

Object-oriented programming - Programming which uses the concept of “data abstraction” , “encapsulation”, “inheritance” and “polymorphism”.

Aspect-oriented programming - This type of programming deals with cross cutting functionality.