[Parameter] Purpose [Abstract Class] Abstract Class suits to implement core requirements that is shared among common type of objects. i.e. Person abstract class can be inherited by Manager, Supervisor, Clerk, Administrator… [Interface] 
Interface suits to implement peripheral requirements. i.e. both person and vehicle class can implement IRun interface.