Encapsulation advances the benefits of modularity and hiding away of complexities in order to better maintain and reason about code. It is one of the four principles of object-oriented programming (OOP).
In the following Python example, a
Robot class is created with a
__version property, initialized as a number. Getter and setter methods are made to allow any instance of
Robot to be set with a
__version and have it changed later]:
class Robot(object):def __init__(self):self.__version = 22def getVersion(self):print(self.__version)def setVersion(self, version):self.__version = versionobj = Robot()obj.getVersion()obj.setVersion(23)obj.getVersion()print(obj.__version)