DEV Community

Discussion on: Explain Encapsulation and Polymorphism Like I'm Five

 
dance2die profile image
Sung M. Kim

Ace! Thanks Carlos 😄

Thread Thread
 
dineshpatra profile image
Dinesh Patra

Thanks Carlos. But I got a doubt.
As per my understanding, We can implement on interface and inherit from abstract classes right. So SweetAndCrunchy is an interface not abstract class.
Please correct me if my understanding is wrong.

Thread Thread
 
carlosmgspires profile image
Carlos Pires

Yes, you are right: the "implements" implies SweetAndCrunchy is an Interface.
But we were talking about the concept of abstraction, versus the concept of encapsulation.
"Abstraction" means you are talking about the idea of a thing, and not the concrete thing itself. "Encapsulation" means you can't change the inner workings of the thing.

Abstraction is accomplished at several levels. An Interface is the most abstract level of abstraction there is. To keep it simple, I wouldn't go now into abstract classes because those have very specific technicalities.

Thread Thread
 
dineshpatra profile image
Dinesh Patra

Thank you for the clarity explanation.