1. Abstract means on concentrate on essential things not on every things. 2. In order to use expertisation we use abstraction. 3. While designing a class, a class can have diversive information and if there is only one person is designing that class, he would not be in a position to provide that quality as team of experts in corresponding field can produce. 4. Because one developer can't be experts in all the Fields. 5. So by using abstract he would choose only knowing areas leaving unknown areas as blank or abstract. 6. Abstract means incomplete or unimplemented. 7. For abstract we can't create the object 8. If minimum one member is abstract of a class is abstract then it is mandatory to declare that class abstract. 9. We can keep implemented members inside a class then naming that class as an abstract is optional. 10. For restricting the usage of non static member we can declare class as abstract because that can't be instantiated for similar kind of c# interview questions @ http://skillgun.com refer this link