Abstract Class Vs Interface In C Interview Questions
A class can use multiple interface.
Abstract class vs interface in c interview questions. If you are designing small concise bits of functionality use interfaces. A general rule of thumb is if you have an implementation that will be the same for all the derived classes then it is better to go for an abstract class instead of an interface. An abstract class doesnt provide full abstraction but an interface does provide full abstraction using abstract we can not achieve multiple inheritance but using an interface we can achieve multiple inheritance. Abstract classes should be used primarily for objects that are closely related whereas interfaces are best suited for providing common functionality to unrelated classes.
Interfaces are used to define contract enforce standardization decoupling and dynamic polymorphism. If many implementations only share methods then it is superior to use interface. If many implementations are of the same kind and use common behavior then it is superior to use abstract class. If you are designing large functional units use an abstract class.
Note here i am talking about the access specifiers of the member of interface and not about the interface. Abstract classes are used when we want to share common functionality in parent child relationship. A class can only use one abstract class. An abstract class is allowed to have all access modifiers for all of its member declaration while in interface we can not declare any access modifier including public as all the members of interface are implicitly public.