what is the difference between abstract class and interface


  • hi,recently i went for an interview they ask me what is abstract class ,interface and its difference
    I said abstract class contain abstact method ,abstract method is a method with no body.Abstract class cannot be instantiated.Abstract class is a base class it required derived class for the implementation of method.
    Interface is a syntactical contract that all derived class should follow 
    it define properties ,method,events which are known as member of interface.
    Then They asked me what is the difference between them. I said 
    abstract class interface 
    1.abstact class can implement method 1.interface cant
    2.abstact class can contain constructor, 2.interface cant
    3.abstract class cannot support multiple 3.interface support
    Then they said some different answer I said dont no.
    Then they ask me when i should make abstract class for an project and when 
    i should make interface.
    I said if suppose there is two class which must be having method with different logic then we sholud make abstract class. 
    and if suppose we have two class having method .with different logic then we can make interface .
    Am i correct with my explaination.if not correct me .please provide me that when should we create abstract class and interface and what is difference .please help me
    Sunday, November 28, 2010 6:01 PM


  • I would focus the answer on the distinction  that you cant add an abstract class to an existing class like you can an interface.
    • Marked as answer by eryang Tuesday, December 07, 2010 8:18 AM
    Sunday, November 28, 2010 6:20 PM