Hi,

I'm quite new to c#, if possible could someone explain what the need for the following is please/

1. An abstract class / or interface allows a user inherit the methods etc in a new class, and this is where the functionality for methods etc is added (NO instantiation).

2. A regular class (e.g. Public), allows a user to add functionality directly to the methods of this class. This class is then instantiated in another class and the methods can be accessed. E.g. Class1 Class2 = new Class1;
Class2.MethodCall();

What I do not understand is:

What is the neeed to instantiate classes, why cant classes just be abstract and then there is no need for them to be instantiated every time you want to use their methods?

Please can someone explain why they both exist and maybe a scenario that explains this.

Thanks all.