SidewinderX wrote:Is there a difference/advantage to use a completely abstract class with all abstract functions as opposed to an interface?
When you create an abstract class you are saying one thing, when you declare an interface you are saying a completely different thing.
With an abstract class you are saying: Here is a not fully implemented class. It is not useful as is. You need to extend it and add some code to complete it. The abstract class may include some finished methods, some methods you need to implement and some support methods that you can use.
An interface says: Here are the method names and parameter lists for a class. If you implement a class with any code you want. If it follows that interface, and you use the 'implements' keyword, then the parser will do check to verify that your class matches the interface exactly. If not you will get an error.
Since they are so different, the question is: Which one do you want to do?